:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}*{box-sizing:border-box}body{margin:0;padding:0}.z4-login-page{height:100vh;display:flex;justify-content:center;align-items:center;background-color:#f1f3f8;background-image:linear-gradient(to bottom,#f1f3f8,#ffe)}.z4-login-page h1{margin:0 auto 2rem;text-align:center}.z4-login-page p{padding:0;margin:.5rem 0}.z4-login-page .z4-login-container{flex-grow:1;max-width:480px;flex-direction:column;justify-content:center;display:flex}.z4-login-page .z4-login-container>*{flex-grow:1}.z4-login-page .z4-login-background{color:#fff;background-color:#2780e3;border:1px solid #1b70cf;box-shadow:0 0 8rem #2780e34d;border-radius:3px;padding:4rem 1rem;flex-grow:1;min-height:640px}@media screen and (max-width: 480px){.z4-login-page .z4-login-background{height:100vh;border-radius:0}}.z4-login-page .link{color:#ffa;font-weight:600}.z4-login-page .z4-login-width{display:flex;flex-direction:column;flex-grow:1;max-width:360px;margin:0 auto}.z4-login-page .z4-login-form{display:flex;flex-direction:column;flex-grow:1;max-width:360px}.z4-login-page .password-form-header{font-size:smaller;font-weight:800;background:inherit;text-align:center}.z4-login-page .password-form-header>span{display:inline-block;background-color:#2780e3;position:relative;z-index:1;padding:.5rem 1rem}.z4-login-page .password-form-header:after{content:"";display:block;border-bottom:2px solid white;width:100%;position:relative;top:-1.5em;z-index:0}.z4-login-page .z4-login-field{margin:1rem 0;position:relative}.z4-login-page .z4-login-field label{font-size:1rem;display:block;font-weight:600}.z4-login-page .z4-login-field>input{font-size:1.6rem;display:block;width:100%;padding:.5em;border:1px solid #1160b8;border-radius:3px;outline:none;background:#ffffffe6}.z4-login-page .z4-login-field>input:focus{box-shadow:0 0 6px #ffa;background:#fff}.z4-login-page .z4-login-field.error input{box-shadow:0 0 0 6px #e00,0 0 2px 5px #fff}.z4-login-page .z4-login-field .error-message{position:absolute;background:#c00;padding:.5rem 1rem;bottom:-2.75rem;font-weight:900;box-shadow:0 0 16px #00000080;left:.5rem;border:1px solid rgba(255,255,255,.5);border-radius:2px}.z4-login-page .z4-login-field .error-message:before{content:"";display:block;height:1rem;width:1rem;position:absolute;top:-.5rem;left:1rem;background:#c00;transform:rotate(45deg)}.z4-login-page button{background-color:#444;color:#fff;font-weight:700;font-size:1rem;padding:.8rem 2rem;border:none;outline:none;border-radius:3px;min-width:8rem;text-align:center;transition:all .15s ease-in-out;box-shadow:0 0 12px #00000026,0 2px 4px #00000080,0 -4px 16px #ffffff0d inset}.z4-login-page button:disabled{background:#444;color:#888;box-shadow:none;cursor:disabled;pointer-events:none}.z4-login-page button:hover{box-shadow:0 0 12px #00000026,0 3px 4px #00000080,0 -5px 16px #ffffff0d inset;background-color:#333}.z4-login-page button:active{box-shadow:0 0 12px #00000026,0 0 4px #00000080,0 -3px 16px #ffffff0d inset;background-color:#333;transform:translateY(1px)}.z4-login-page button.spinning{position:relative}.z4-login-page button.spinning .spinner-container{background-color:inherit;position:absolute;inset:0}.z4-login-page button.spinning .spinner{position:absolute;width:2rem;height:2rem;left:calc(50% - 1rem);top:calc(50% - 1rem);border:5px solid white;border-bottom-color:transparent;border-radius:50%;display:block;box-sizing:border-box;animation:rotation 1s linear infinite;background-color:inherit}.z4-login-page .button-box{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;margin:1rem 0}.z4-login-page .z4-login-methods-list{display:flex;flex-direction:column;flex-grow:1;min-width:0;max-width:unset;margin:0 0 2rem}.z4-login-page .z4-login-methods-list button{display:block;font-size:1rem;padding:1rem;background-color:#f1f3f8;color:#1b70cf}.z4-login-page .z4-login-methods-list button.spinning .spinner{border-color:#1160b8;border-bottom-color:transparent}.z4-login-page .z4-login-methods-list .email-button{display:flex;flex-direction:row;align-items:center;padding:.5rem 1rem;gap:1rem;border:2px solid #fc3}.z4-login-page .z4-login-methods-list .email-button img{height:2rem;width:2rem}.z4-login-page .z4-login-methods-list .email-button{box-shadow:0 0 18px #c8c80099,0 2px 4px #00000080,0 -4px 16px #ffffff0d inset}.z4-login-page .z4-login-methods-list .email-button:hover{box-shadow:0 0 24px #c8c80099,0 3px 4px #00000080,0 -5px 16px #ffffff0d inset;background-color:#fff}.z4-login-page .z4-login-methods-list .email-button:active{box-shadow:0 0 24px #c8c80099,0 0 4px #00000080,0 -3px 16px #ffffff0d inset;background-color:#333;transform:translateY(1px)}.returning-user{margin-bottom:1rem}.returning-user h3{margin:0;padding:0;font-size:1rem}.returning-user h2{margin:0 0 2rem;padding:0;font-size:3rem;line-height:1}a[href="/login/reset"]{font-weight:600;color:inherit;font-style:italic;font-size:smaller}.totp-input{display:flex;flex-direction:row;align-items:center;justify-content:space-around;gap:.5rem}.totp-input input[inputMode=numeric]{font-size:32px;width:unset;min-width:1rem;flex-basis:1;padding:.5rem .25rem;text-align:center}.loading-message{display:block;margin:2rem 0;text-align:center;font-weight:600;color:#fff}.loading-spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;position:absolute;inset:0;padding-top:8rem}.spinner{border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;width:3rem;height:3rem;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.z4-authorize-box{border:2px solid #1b70cf;border-radius:5px;background-color:#f1f3f8;box-shadow:0 0 8rem #2780e31d;padding:1rem;position:relative}.loading-wrapper{position:absolute;inset:0;display:flex;flex-direction:row;align-items:center;justify-content:center}.loading-spinner{height:5rem;width:5rem;border:6px solid #1b70cf;border-bottom-color:transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:rotation 1s linear infinite}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
