/* Acesso aprovado: login, cadastro, recuperação e contexto inicial.
   Tokens ficam restritos às páginas de acesso e à casca de login. */
@font-face{font-family:'Instrument Acesso';src:url('/assets/acervo/fontsource/fonts/instrument-sans-latin-wght-normal.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap}
body.ac-page,body .ac-shell{
  --ac-bg:#08090b;--ac-panel:#111318;--ac-soft:#1b1e26;--ac-ink:#f4f5f8;
  --ac-muted:#a3aab9;--ac-line:#2c323e;--ac-input:#151820;--ac-blue:#2357ff;
  --ac-accent:#a8bbff;--ac-danger:#ffacae;--ac-font:'Instrument Acesso',Arial,sans-serif;
  color-scheme:dark;font-family:var(--ac-font);color:var(--ac-ink);background:var(--ac-bg);
}
body.ac-page[data-op-tema="claro"],body[data-op-tema="claro"] .ac-shell{
  --ac-bg:#f5f7fb;--ac-panel:#fff;--ac-soft:#eef2f8;--ac-ink:#10182a;
  --ac-muted:#626e82;--ac-line:#d8dfeb;--ac-input:#fbfcff;--ac-accent:#1945da;--ac-danger:#a83236;
  color-scheme:light;
}
body.ac-page{margin:0;min-width:0;-webkit-font-smoothing:antialiased}
.ac-shell,.ac-shell *,.ac-page .ac-theme-toggle{box-sizing:border-box}
.ac-page [hidden],.ac-shell [hidden]{display:none!important}
body.ac-page .ac-shell,body.produto-operacional .login-shell.ac-shell{
  display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);gap:18px;
  width:100%;max-width:1900px;min-height:calc(100svh - 38px);margin:0 auto;padding:18px;
  font-family:var(--ac-font);background:var(--ac-bg);color:var(--ac-ink);overflow:visible;
}
body .ac-shell .ac-story{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;min-width:0;min-height:690px;border:0;border-radius:22px;background:#0a1025;color:#fff;padding:40px 42px}
.ac-story-photo{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center;filter:saturate(.7)}
.ac-story::before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#060b1ed4 0%,#070b1940 35%,#080f27cc 58%,#080e24 100%)}
.ac-story::after{content:'';position:absolute;width:420px;height:420px;right:-190px;bottom:-220px;border:1px solid #7091ff42;border-radius:50%;box-shadow:0 0 0 60px #7091ff08,0 0 0 120px #7091ff08;z-index:-1}
.ac-story-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
body .ac-shell .ac-brand{display:inline-flex;align-items:center;gap:9px;color:inherit;text-decoration:none;max-width:fit-content;border:0;padding:0;background:none}
.ac-story .langris-logo{--marca-altura:35px}.ac-story-caption{font-size:10px;line-height:1.45;letter-spacing:.08em;color:#ccd4ea;text-align:right;text-transform:uppercase;max-width:120px}
.ac-story-content{padding-top:110px;max-width:455px}.ac-eyebrow{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:550;color:#d7e0ff;margin:0 0 24px}.ac-eyebrow::before{content:'';width:22px;height:1px;background:#a9bcff}
body .ac-shell .ac-story h2{font-family:var(--ac-font);font-size:clamp(43px,4.1vw,65px);font-weight:450;line-height:1.04;letter-spacing:-.05em;margin:0 0 22px;color:#fff}
.ac-story h2 .ac-story-accent{color:#a8bbff}.ac-story-copy{font-size:16px;line-height:1.6;color:#c4cce0;margin:0;max-width:360px}.ac-story-footer{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:42px;padding-top:25px;border-top:1px solid #e4ebff2b;font-size:12px;color:#c4cce0}.ac-story-footer a{color:#eef2ff;text-decoration:none}.ac-story-signal{display:flex;align-items:center;gap:7px;font-size:11px}.ac-story-signal::before{content:'';width:5px;height:5px;border-radius:50%;background:#a8bbff}
body .ac-shell .ac-main{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding:42px 32px 26px;background:var(--ac-bg);color:var(--ac-ink)}
body .ac-shell .ac-card{width:100%;max-width:414px;padding:0;margin:0;border:0;border-radius:0;background:transparent;color:var(--ac-ink);box-shadow:none;font-family:var(--ac-font);color-scheme:inherit}
.ac-intro{margin:0 0 28px}.ac-kicker{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ac-accent);font-weight:600;margin:0 0 14px}
body .ac-shell .ac-intro h1,body .ac-shell .ac-intro h2{font-family:var(--ac-font);font-size:37px;line-height:1.08;letter-spacing:-.045em;font-weight:500;color:var(--ac-ink);margin:0 0 12px}
.ac-intro>p:last-child{color:var(--ac-muted);font-size:15px;line-height:1.6;margin:0}
.ac-shell :is(button,input,textarea,select){font:inherit}.ac-shell :is(button,a,input,textarea,select){-webkit-tap-highlight-color:transparent}.ac-shell :is(button,a){touch-action:manipulation}.ac-shell button{cursor:pointer}.ac-shell button:disabled{cursor:default}
.ac-shell a{color:var(--ac-accent);text-underline-offset:4px}.ac-shell :is(button,a,summary):focus-visible,.ac-page .ac-theme-toggle:focus-visible{outline:3px solid var(--ac-accent);outline-offset:4px}
body .ac-shell .ac-field{display:block;position:relative;margin:0 0 20px}
body .ac-shell .ac-field>label,.ac-shell .ac-field-label{display:block;font-size:13px;font-weight:500;margin:0 0 9px;color:var(--ac-ink)}
.ac-input-wrap{position:relative}
body .ac-shell .ac-field :is(input:not([type=radio]):not([type=checkbox]),textarea,select){width:100%;height:54px;border:1px solid var(--ac-line);border-radius:10px;background:var(--ac-input);padding:0 16px;color:var(--ac-ink);font-family:var(--ac-font);font-size:16px;outline:0;box-shadow:none;transition:border-color .18s,box-shadow .18s}
body .ac-shell .ac-field textarea{height:auto;min-height:108px;padding:14px 16px;line-height:1.55;resize:vertical}
.ac-shell .ac-field :is(input,textarea)::placeholder{color:var(--ac-muted);opacity:.75}
body .ac-shell .ac-field :is(input,textarea,select):focus{border-color:var(--ac-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--ac-accent) 16%,transparent)}
body .ac-shell .ac-field [aria-invalid=true]{border-color:var(--ac-danger)}
body .ac-shell .ac-field input[type=password],body .ac-shell .ac-field input[data-ac-password]{padding-right:85px}
body .ac-shell .ac-password-toggle{position:absolute;inset:5px 5px 5px auto;min-width:65px;border:0;border-radius:6px;color:var(--ac-muted);background:none;font-size:12px;padding:0 8px}
.ac-password-toggle:hover{color:var(--ac-ink);background:var(--ac-soft)}.ac-field-hint{display:block;margin:7px 0 0;color:var(--ac-muted);font-size:11px;line-height:1.6}
body .ac-shell .ac-primary{display:flex;justify-content:center;align-items:center;gap:13px;width:100%;min-height:53px;padding:12px 16px;border:1px solid transparent;border-radius:10px;background:var(--ac-blue);color:#fff;font-family:var(--ac-font);font-size:15px;font-weight:550;text-decoration:none;box-shadow:none;transition:background .18s,transform .18s}
.ac-primary svg{width:18px;height:18px}.ac-shell .ac-primary:hover:not(:disabled){background:#3c6cff;filter:none}.ac-primary:active:not(:disabled){transform:translateY(1px)}.ac-primary:disabled{opacity:.5}
body .ac-shell .ac-secondary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 14px;border:1px solid var(--ac-line);border-radius:8px;background:var(--ac-soft);color:var(--ac-ink);font-size:13px;text-decoration:none}
.ac-google,.ac-shell .auth-google__button{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;min-height:52px;border:1px solid var(--ac-line);border-radius:10px;background:var(--ac-panel);color:var(--ac-ink);font-family:var(--ac-font);font-size:14px;font-weight:550;box-shadow:none}
.ac-google svg{height:19px;width:19px}.ac-shell .auth-google{margin:0 0 23px}.ac-shell .auth-google__sdk{min-height:52px}.ac-shell .auth-google__note{color:var(--ac-muted);font-family:var(--ac-font);font-size:11px;line-height:1.6;margin:9px 0 0}.ac-shell .auth-google__retry{font:inherit;font-size:12px;color:var(--ac-accent);background:none;border:0;padding:8px 0}
.ac-divider,.ac-shell .auth-google__divider{display:flex;align-items:center;gap:15px;color:var(--ac-muted);font-family:var(--ac-font);font-size:12px;letter-spacing:0;text-transform:none;margin:27px 0}
.ac-divider::before,.ac-divider::after,.ac-shell .auth-google__divider::before,.ac-shell .auth-google__divider::after{content:'';height:1px;background:var(--ac-line);flex:1}
.ac-legal{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:22px;font-size:11px;margin:33px 0 0}.ac-legal a{color:var(--ac-muted);text-decoration:none}.ac-legal a:hover{text-decoration:underline}
.ac-error{font-size:12px;line-height:1.6;color:var(--ac-danger);margin:0 0 18px}.ac-mobile-brand{display:none!important}
.ac-theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:8px;border:1px solid var(--ac-line);border-radius:10px;background:var(--ac-panel);color:var(--ac-muted);font-family:var(--ac-font);font-size:12px;cursor:pointer}.ac-theme-toggle svg{width:18px;height:18px}.ac-theme-toggle:hover{color:var(--ac-accent)}
.ac-login-controls{display:flex;justify-content:flex-end;gap:12px;margin-bottom:25px;width:100%;max-width:414px}.ac-login-help{text-align:right;margin:-5px 0 24px}.ac-login-help a{font-size:12px;color:var(--ac-muted);text-decoration:none}.ac-login-help a:hover{color:var(--ac-accent)}.ac-login-signup{font-size:13px;color:var(--ac-muted);text-align:center;margin:29px 0 0;padding-top:25px;border-top:1px solid var(--ac-line)}.ac-login-signup p{margin:0}.ac-login-signup a{text-decoration:none;font-weight:550}.ac-login-signup small{display:block;font-size:11px;line-height:1.6;margin-top:9px}.ac-shell .login-notice{padding:13px 15px;border:1px solid var(--ac-line);border-radius:10px;color:var(--ac-accent);background:var(--ac-soft);font-size:13px;line-height:1.6;margin:0 0 20px}
.ac-shell .painel-falha{padding:18px;border:1px solid var(--ac-danger);border-radius:10px;background:var(--ac-panel);color:var(--ac-danger);margin-bottom:23px}.ac-shell .painel-falha :is(.lead,.secao__titulo){color:var(--ac-danger)}
@media(min-width:1700px){body .ac-shell .ac-story{padding:50px 65px}body .ac-shell .ac-main{padding:50px 70px}}
@media(max-width:1060px){body.ac-page .ac-shell,body.produto-operacional .login-shell.ac-shell{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);padding:14px;gap:5px}body .ac-shell .ac-story{padding:33px 29px}.ac-story h2{font-size:48px}.ac-story-content{padding-top:100px}.ac-story-copy{font-size:15px}.ac-story-signal{display:none}body .ac-shell .ac-main{padding:36px 28px}}
@media(max-width:760px){body.ac-page .ac-shell,body.produto-operacional .login-shell.ac-shell{display:block;padding:0;min-height:calc(100svh - 38px)}body .ac-shell .ac-story{display:none}body .ac-shell .ac-main{align-items:center;justify-content:flex-start;padding:30px 26px 26px;min-height:calc(100svh - 38px)}body .ac-shell .ac-mobile-brand{display:inline-flex!important;margin-bottom:40px;align-self:flex-start;color:var(--ac-ink)}.ac-mobile-brand .langris-logo{--marca-altura:30px}body .ac-shell .ac-card{max-width:430px}body .ac-shell .ac-intro :is(h1,h2){font-size:35px}.ac-legal{margin-top:30px}.ac-login-controls{position:absolute;top:48px;right:22px;width:auto;margin:0}.ac-login-controls .ac-theme-toggle{border-color:transparent;background:none}}
@media(max-width:380px){body .ac-shell .ac-main{padding:25px 20px}.ac-mobile-brand{margin-bottom:34px}body .ac-shell .ac-intro :is(h1,h2){font-size:31px}.ac-intro>p:last-child{font-size:14px}}
@media(prefers-reduced-motion:reduce){.ac-shell *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
