/* Fallback independente do bundle do Next para a rota pública de login. */
html,body{margin:0;min-height:100%;background:#f5f7f4;color:#172033}
body{font-family:Arial,Helvetica,sans-serif}
*,*::before,*::after{box-sizing:border-box}
.af-launch-screen{display:none!important}
body>div.fixed{position:fixed;top:1rem;right:4.5rem;z-index:70}
.theme-toggle{display:grid;width:2.25rem;height:2.25rem;place-items:center;border:1px solid #dbe3ec;border-radius:.75rem;background:#fff;color:#526176}
.login-page{min-height:100vh;background:#f5f7f4;color:#172033}
.login-page>div{min-height:100vh}
.login-brand-panel{display:none}
.login-page>div>section:last-child{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:2.5rem 1.25rem}
.login-page>div>section:last-child>div{width:100%;max-width:28rem}
.login-page>div>section:last-child>div>div:first-child{display:flex;align-items:center;gap:1rem;margin-bottom:2.5rem}
.login-page>div>section:last-child>div>div:first-child>div:first-child,.login-brand-panel>div:nth-child(3)>div>div:first-child{display:flex;width:4rem;height:4rem;flex:0 0 4rem;align-items:center;justify-content:center;overflow:hidden;border-radius:1.25rem}
.login-page>div>section:last-child>div>div:nth-child(2){margin-bottom:2rem}
.login-page>div>section:last-child>div>div:nth-child(2)>span{display:inline-flex;border-radius:999px;background:rgba(183,208,247,.35);padding:.375rem .75rem;font-size:.75rem;font-weight:800}
.login-page img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.35)}
.login-page form{display:flex;flex-direction:column;gap:1.25rem}
.login-page label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:700;color:#29354a}
.login-page input{display:block;width:100%;height:3.5rem;border:1px solid #dfe6e2;border-radius:1rem;background:#fff;padding:0 1rem;color:#172033;font-size:.9375rem;outline:none}
.login-page input:focus{border-color:#b7d0f7;box-shadow:0 0 0 4px rgba(183,208,247,.3)}
.login-page button{cursor:pointer;font:inherit}
.login-page form>div:nth-child(2)>div{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.login-page form>div:nth-child(2)>div button{border:0;background:transparent;color:#456a9f;font-size:.75rem;font-weight:700}
.login-page form>button{display:flex;width:100%;height:3.5rem;align-items:center;justify-content:center;border:0;border-radius:1rem;background:#0f1e37;padding:0 1.5rem;color:#fff;font-weight:800}
.login-page h2{margin:1.25rem 0 0;font-size:2.25rem;line-height:1.1;color:#0f1e37}
.login-page p{line-height:1.5}
.login-page .install-app-entry{display:flex;justify-content:center;margin-top:1rem}
.login-page .install-app-entry button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid #b7c5d6;border-radius:.75rem;background:#fff;padding:.75rem 1rem;color:#315f9e;font-size:.875rem;font-weight:700}
.login-page .install-app-entry+div{margin-top:2rem;border:1px solid #e2e8e5;border-radius:1rem;background:rgba(255,255,255,.7);padding:1rem;text-align:center}
.login-page .install-app-entry+div+p{margin-top:2rem;text-align:center;font-size:.75rem;color:#9aa3b1}
html.dark,html.dark body,html.dark .login-page{background:#050b16;color:#edf4ff}
html.dark .login-page>div>section:last-child{background:#050b16}
html.dark .login-page h2,html.dark .login-page label{color:#edf4ff}
html.dark .login-page input{border-color:#2a3b57;background:#0a1526;color:#edf4ff}
@media(min-width:1024px){
  .login-page>div{display:grid;grid-template-columns:1.05fr .95fr}
  .login-brand-panel{position:relative;display:flex;min-height:100vh;flex-direction:column;justify-content:space-between;overflow:hidden;background:#0f1e37;padding:3rem;color:#fff}
  .login-brand-panel>div:nth-child(1){position:absolute;top:-6rem;right:-6rem;width:20rem;height:20rem;border-radius:999px;background:rgba(183,208,247,.2);filter:blur(48px)}
  .login-brand-panel>div:nth-child(2){position:absolute;bottom:-8rem;left:-5rem;width:24rem;height:24rem;border-radius:999px;background:#18304f;filter:blur(48px)}
  .login-brand-panel h1{margin:0;font-size:3.5rem;line-height:1.02;color:#fff}
  .login-brand-panel h1 span{color:#b7d0f7}
  .login-brand-panel>div:nth-child(3),.login-brand-panel>div:nth-child(4),.login-brand-panel>p{position:relative;z-index:1}
  .login-brand-panel+section>div>div:first-child{display:none}
}
