html:not(.session-ready) .app-shell, html:not(.session-ready) #admin-shell, html:not(.session-ready) #back-to-tree-top { display: none !important; }
.login-panel { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: #eef2f5; }
.session-loading { min-height: 100vh; display: grid; place-items: center; font-size: 14px; }
.login-panel[hidden], .session-loading[hidden] { display: none; }
.login-card { width: min(100%, 440px); background: white; border: 1px solid #dae2e8; border-radius: 22px; padding: 36px; box-shadow: 0 18px 50px #142f4620; }
.login-brand { color: #076c60; font-size: 25px; font-weight: 800; letter-spacing: -.6px; }
.login-card h1 { margin: 22px 0 8px; font-size: 25px; }
.login-card p { color: #526574; line-height: 1.5; }
.login-card label, .password-form label { display: block; margin: 20px 0; font-weight: 600; }
.login-card input, .password-form input { display: block; width: 100%; padding: 13px; margin-top: 7px; border: 1px solid #9dacb7; border-radius: 9px; font: inherit; }
.login-card button, .password-form button { background: #076c60; color: white; border: 0; border-radius: 9px; padding: 13px 24px; font: inherit; font-weight: 700; cursor: pointer; }
.login-card button { width: 100%; }
.login-password-field { display: block; position: relative; margin-top: 7px; }
.login-card .login-password-field input { margin-top: 0; padding-inline-end: 58px; box-sizing: border-box; }
.login-card .login-password-toggle { position: absolute; inset-inline-end: 3px; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: 46px; min-height: 44px; padding: 8px; background: transparent; color: #076c60; border: 0; border-radius: 7px; }
.login-card .login-password-toggle:hover { background: #e8f4f0; }
.login-card .login-password-toggle:focus-visible { outline: 3px solid #076c60; outline-offset: -3px; }
.login-password-toggle svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.login-password-toggle .eye-slash { display: none; }
.login-password-toggle[aria-pressed="true"] .eye-slash { display: block; }
.login-card button:disabled, .password-form button:disabled { opacity: .6; cursor: wait; }
#login-status { min-height: 24px; color: #8a2929; }
.password-form { max-width: 440px; }
