/* Equilibrio. Scoped to the access page: no shell, dialogs or print styles. */
.login.login-equilibrio{--login-ink:#15374b;--login-muted:#566d7b;--login-line:#dce5e8;--login-mint:#8ae2c3;--login-teal:#007f70;--login-radius:18px;min-height:100vh;min-height:100svh;display:grid;grid-template-columns:44% 56%;background:#fff;color:var(--login-ink)}
.login-equilibrio *{box-sizing:border-box}
.login-equilibrio>.login-side{display:flex;flex-direction:column;position:relative;overflow:hidden;min-height:100%;padding:42px clamp(30px,4vw,66px) 30px;background:#14364b;color:#f1f9fa}
.login-equilibrio .login-wordmark{display:flex;align-items:center;gap:11px;position:relative;z-index:1;font-size:29px;line-height:1.2;font-weight:650;letter-spacing:-1.1px}
.login-equilibrio .login-wordmark small{font-size:10px;font-weight:500;letter-spacing:1.5px;margin-left:7px;vertical-align:middle;opacity:.75}
.login-equilibrio .login-brand-mark{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:11px;background:var(--login-mint);color:#14364b;font-size:24px;line-height:1;font-weight:650}
.login-equilibrio .login-brand-copy{position:relative;z-index:1;margin:auto 0;padding:82px 0 110px}
.login-equilibrio .login-overline{display:block;font-size:10px;line-height:1.5;font-weight:650;letter-spacing:1.7px}
.login-equilibrio .login-brand-copy>.login-overline{color:var(--login-mint);margin-bottom:18px;font-size:9px}
.login-equilibrio .login-brand-copy h2{margin:0;max-width:430px;font-size:clamp(32px,3.1vw,46px);line-height:1.18;letter-spacing:-1.4px;font-weight:650;color:#f1f9fa}
.login-equilibrio .login-brand-copy p{margin:18px 0 0;max-width:none;color:#c0d9e4;font-size:14px;line-height:1.6}
.login-equilibrio .login-network-art{position:absolute;inset:52% -70px -40px 42px;border:1px solid #416076;transform:rotate(-25deg);border-radius:50%;pointer-events:none}
.login-equilibrio .login-network-art::before,.login-equilibrio .login-network-art::after{content:"";position:absolute;border:1px solid #416076;border-radius:50%;inset:40px}
.login-equilibrio .login-network-art::after{inset:80px}
.login-equilibrio .login-network-art span{position:absolute;display:block;width:8px;height:8px;border-radius:50%;background:var(--login-mint);left:50%;top:0}
.login-equilibrio .login-network-art span:nth-child(2){left:8%;top:64%}
.login-equilibrio .login-network-art span:nth-child(3){left:80%;top:33%}
.login-equilibrio .login-network-art span:nth-child(4){left:58%;top:43%;width:5px;height:5px}
.login-equilibrio .login-network-art span:nth-child(5){left:44%;top:99%;width:5px;height:5px}
.login-equilibrio .login-brand-footer{display:flex;align-items:center;gap:9px;position:relative;z-index:1;margin-top:auto;font-size:10px;line-height:1.5;color:#bed5df}
.login-equilibrio .login-brand-footer-dot{width:7px;height:7px;background:var(--login-mint);border-radius:50%;flex-shrink:0}
.login-equilibrio>.login-main{display:flex;align-items:center;justify-content:center;min-width:0;padding:56px 42px 34px;background:#fff}
.login-equilibrio .login-access-stack{width:100%;max-width:340px;min-width:0;display:flex;flex-direction:column;gap:22px}
.login-equilibrio .login-form{display:flex;flex-direction:column;gap:12px;width:100%;max-width:none}
.login-equilibrio .login-form>.login-overline{margin-bottom:4px;color:var(--login-teal)}
.login-equilibrio .login-form>h1{margin:0;font-size:29px;line-height:1.2;letter-spacing:-.8px;font-weight:650;color:var(--login-ink)}
.login-equilibrio .login-form>.login-description{margin:0 0 9px;color:var(--login-muted);font-size:14px;line-height:1.6}
.login-equilibrio .login-fields{display:grid;gap:12px;min-width:0}
.login-equilibrio .field{margin:0;min-width:0}
.login-equilibrio .field>label{margin:0 0 7px;font-size:12px;line-height:1.5;font-weight:550;color:var(--login-ink)}
.login-equilibrio input{width:100%;min-width:0;min-height:48px;height:48px;padding:0 13px;border:1px solid var(--login-line);border-radius:var(--login-radius);background:#fff;color:var(--login-ink);font-family:inherit;font-size:14px;line-height:1.4}
.login-equilibrio input::placeholder{color:var(--login-muted);opacity:.85}
.login-equilibrio input:focus{border-color:var(--login-teal);outline:2px solid #007f7026;outline-offset:2px}
.login-equilibrio .login-password-field{position:relative;min-width:0}
.login-equilibrio .login-password-field input{padding-right:53px}
.login-equilibrio .login-password-toggle{position:absolute;right:3px;top:3px;width:42px;height:42px;min-height:42px;display:grid;place-items:center;margin:0;padding:0;border:0;border-radius:14px;background:transparent;color:var(--login-muted);font-size:0;line-height:0;box-shadow:none}
.login-equilibrio .login-password-toggle::before{content:"";width:19px;height:12px;border:1.6px solid currentColor;border-radius:50%;background:radial-gradient(circle,currentColor 0 2.2px,transparent 2.5px);box-sizing:border-box}
.login-equilibrio .login-password-toggle[aria-pressed="true"]::after{content:"";position:absolute;width:20px;height:1.7px;left:11px;top:20px;background:currentColor;transform:rotate(38deg)}
.login-equilibrio .login-password-toggle:hover{background:#e9f5f0;color:var(--login-teal)}
.login-equilibrio .login-password-toggle:focus-visible{outline:2px solid var(--login-teal);outline-offset:2px}
.login-equilibrio .login-form>.login-submit{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;width:100%;margin:3px 0 0;padding:13px 16px;border:0;border-radius:var(--login-radius);background:var(--login-teal);color:#fff;font-size:13px;line-height:1.5;font-weight:550;box-shadow:none}
.login-equilibrio .login-submit:hover{background:#006d61}
.login-equilibrio .login-submit:disabled{opacity:.65;cursor:wait}
.login-equilibrio .login-submit svg{width:17px;height:17px;flex-shrink:0}
.login-equilibrio .login-meta{display:flex;align-items:center;justify-content:center;gap:7px;margin:3px 0 0;color:var(--login-muted);font-size:11px;line-height:1.5;text-align:center}
.login-equilibrio .login-meta svg{width:13px;height:13px;flex-shrink:0}
.login-equilibrio .login-form>.error{margin:0;padding:11px 13px;border-radius:12px;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.login-equilibrio .login-form>.error:empty{display:none}
.login-equilibrio .field-help{margin:6px 0 0;font-size:12px;line-height:1.5}
.login-equilibrio .login-signature{margin-top:4px;text-align:center;color:var(--login-muted);font-size:10px;line-height:1.5}
.login-equilibrio .login-signature span{margin-left:7px}
.login-equilibrio .pwa-card{margin:0;padding:17px;border-radius:18px}
.login-equilibrio .pwa-card[hidden]{display:none!important}
.login-equilibrio .pwa-card h2{font-size:14px;line-height:1.4;letter-spacing:0}
.login-equilibrio .pwa-card p{margin:6px 0 0;color:#536d76;font-size:12px;line-height:1.5}
.login-equilibrio .pwa-card .pwa-note{font-size:11px;margin-top:12px}
.login-equilibrio .pwa-actions{gap:7px;margin-top:12px}
.login-equilibrio .pwa-actions .btn{margin:0;min-height:40px;padding:8px 11px;font-size:12px;border-radius:12px}
.login-equilibrio .pwa-card .pwa-version{font-size:11px}
.login-equilibrio-setup .login-access-stack{max-width:380px}
@media(max-width:1100px){.login-equilibrio>.login-side{padding:35px 30px 28px}.login-equilibrio .login-brand-copy h2{font-size:36px}.login-equilibrio>.login-main{padding:42px 34px 30px}}
@media(max-width:760px){.login.login-equilibrio{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}.login-equilibrio>.login-side{min-height:0;padding:23px 25px 24px}.login-equilibrio .login-wordmark{font-size:27px}.login-equilibrio .login-brand-copy{margin:0;padding:18px 0 0}.login-equilibrio .login-brand-copy>.login-overline,.login-equilibrio .login-brand-copy p,.login-equilibrio .login-brand-footer,.login-equilibrio .login-network-art{display:none}.login-equilibrio .login-brand-copy h2{font-size:20px;line-height:1.35;letter-spacing:-.5px;max-width:none}.login-equilibrio .login-brand-copy h2 br{display:none}.login-equilibrio>.login-main{min-height:0;align-items:flex-start;padding:31px 25px 27px}.login-equilibrio .login-access-stack,.login-equilibrio-setup .login-access-stack{max-width:410px}.login-equilibrio input{font-size:16px}.login-equilibrio .login-signature{margin-top:1px}.login-equilibrio .pwa-heading{align-items:center}}
@media(max-width:360px){.login-equilibrio>.login-side{padding-left:21px;padding-right:21px}.login-equilibrio>.login-main{padding-left:21px;padding-right:21px}.login-equilibrio .login-form>h1{font-size:27px}.login-equilibrio .login-description{font-size:13px}.login-equilibrio .login-meta{font-size:10px}}
@media(prefers-reduced-motion:reduce){.login-equilibrio *{scroll-behavior:auto}}
