:root{--py-green-900: #274f3e;--py-green-700: #2e6b4f;--py-green-500: #4fa06e;--py-ink: #2b3230;--py-muted: #6b7671;--py-panel-bg: #f4f5f2;--py-field-border: #e2e5e0}body{background:var(--py-panel-bg)}.py-login{position:fixed;inset:0;display:grid;grid-template-columns:53fr 47fr;overflow:auto}.py-login__brand{background:linear-gradient(165deg,#35755a 0%,var(--py-green-700) 45%,var(--py-green-900) 100%);color:#fff;padding:52px clamp(48px,5.5vw,84px);display:flex;flex-direction:column;min-height:100%}.py-login__brand-head{display:flex;align-items:center;gap:14px;flex:none}.py-login__icon{width:52px;height:52px;flex:none}.py-login__brand-name{font-size:1.6rem;font-weight:800;letter-spacing:-.02em;line-height:1.1}.py-login__brand-tag{font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#ffffff9e;margin-top:3px}.py-login__pitch{flex:1;display:flex;flex-direction:column;justify-content:center}.py-login__pitch h1{font-size:clamp(2.2rem,4vw,3.5rem);font-weight:800;line-height:1.06;letter-spacing:-.03em;margin:0 0 20px;max-width:17ch}.py-login__pitch p{font-size:1.05rem;line-height:1.6;color:#ffffffb8;margin:0;max-width:44ch}.py-login__panel{background:var(--py-panel-bg);display:flex;align-items:center;justify-content:center;padding:40px 24px;min-height:100%}.py-login__stack{width:100%;max-width:420px}.py-login__foot{text-align:center;font-size:.82rem;color:var(--py-muted);margin:26px 0 0}.py-login .page-card{background:transparent;box-shadow:none;border:none;padding:0;margin:0;max-width:none;width:100%}.py-login .page-card-head{text-align:center;padding:0;border:none;margin-bottom:26px;display:block}.py-login .page-card-head img.app-logo{width:216px;max-height:none;height:auto;margin:0 auto 12px;display:block}.py-login .page-card-head h4{display:none}.py-login .page-card-subtitle{font-size:.95rem;color:var(--py-muted);margin:0}.py-login .page-card-body{padding:0}.py-login .form-group{margin-bottom:18px}.py-login .page-card .form-label{display:block;font-size:.85rem;font-weight:600;color:var(--py-ink);margin-bottom:7px;width:100%}.py-login .form-control{width:100%;height:auto;padding:13px 15px;font-size:.95rem;color:var(--py-ink);background:#fff;border:1px solid var(--py-field-border);border-radius:10px;box-shadow:none;transition:border-color .15s,box-shadow .15s}.py-login .form-control::-moz-placeholder{color:#a9b2ad}.py-login .form-control::placeholder{color:#a9b2ad}.py-login .form-control:focus{border-color:var(--py-green-500);box-shadow:0 0 0 3px #4fa06e29;outline:none}.py-login .field-icon,.py-login .toggle-password{display:none}.py-login .email-field .form-control,.py-login .password-field .form-control{padding-left:15px;padding-right:15px}.py-login .field-error{font-size:.8rem;color:#d5314b;margin:6px 0 0}.py-login .py-login__row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-2px 0 22px}.py-login .py-login__remember{display:inline-flex;align-items:center;gap:8px;font-size:.88rem;color:var(--py-ink);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin:0}.py-login .py-login__remember input{width:16px;height:16px;accent-color:var(--py-green-700);cursor:pointer;margin:0}.py-login .page-card .forgot-password-message{margin:0;font-size:.88rem;text-align:right}.py-login .page-card .page-card-body .py-login__row .forgot-password-message>*,.py-login .page-card .page-card-body .py-login__row .forgot-password-message a,.py-login .py-login__row a{color:var(--py-green-700);font-weight:600;text-decoration:none;font-size:.88rem}.py-login .page-card .forgot-password-message a:hover{text-decoration:underline}.py-login .page-card-actions{padding:0;margin:0}.py-login .page-card .page-card-actions .btn-login,.py-login .page-card .page-card-actions .btn-ldap-login,.py-login .page-card .page-card-actions .btn.btn-primary{width:100%;padding:14px 16px;font-size:.98rem;font-weight:700;line-height:1.2;color:#fff;background:var(--py-green-700);border:none;border-radius:10px;box-shadow:none;transition:background .15s}.py-login .page-card .page-card-actions .btn-login:hover,.py-login .page-card .page-card-actions .btn-login:focus,.py-login .page-card .page-card-actions .btn-login:active,.py-login .page-card .page-card-actions .btn.btn-primary:hover{background:#27593f;color:#fff}.py-login .page-card .page-card-actions .btn-login:focus-visible{outline:3px solid rgba(79,160,110,.4);outline-offset:2px}.py-login .btn-login-option{width:100%;margin-top:10px;padding:12px 16px;font-weight:600;color:var(--py-green-700);background:transparent;border:1px solid var(--py-field-border);border-radius:10px}.py-login .btn-login-option:hover{background:#fff;color:var(--py-green-700)}.py-login .login-error-banner{display:none;align-items:center;gap:8px;background:#fdeaee;color:#a51c37;border-radius:8px;padding:10px 12px;font-size:.85rem;margin-bottom:16px}.py-login .login-error-banner.show{display:flex}.py-login .sign-up-message{margin-top:18px;font-size:.88rem;color:var(--py-muted)}.py-login .sign-up-message a{color:var(--py-green-700);font-weight:600}@media(max-width:900px){.py-login{grid-template-columns:1fr;position:static;min-height:100vh}.py-login__brand{display:none}.py-login__panel{min-height:100vh}}
/*# sourceMappingURL=py_login.bundle.AWGJSQBI.css.map */
