:root{--lo-color-brand-focus: #8fd3d6;--lo-color-brand-text: #2d9ba0}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes zoom-in{0%{transform:scale(1)}to{transform:scale(1.1)}}html,body{width:100%;height:100%;font-family:Arial,Helvetica,sans-serif}body{margin:0;padding:0;width:100%;height:100%;overflow:auto;overscroll-behavior:none;font-family:var(--lo-font-text-family)}body *{box-sizing:border-box}.hidden{display:none!important}#loading-overlay{position:fixed;z-index:999;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--lo-space-6);background-color:var(--lo-color-white)}#loading-overlay .loading-spinner{width:48px;height:48px;border:4px solid var(--lo-color-brand-text);border-bottom-color:transparent;border-radius:50%;display:inline-block;animation:rotation 1s linear infinite}#loading-overlay .loading-text{font:var(--lo-font-text-style-md);font-weight:var(--lo-font-display-weight-regular);color:var(--lo-color-gray-900);letter-spacing:.5px}.modal-overlay{position:fixed;z-index:998;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:#00000040;cursor:pointer}.modal-overlay .modal{padding:var(--lo-space-9) var(--lo-space-11) var(--lo-space-11) var(--lo-space-11);width:600px;line-height:1.25;color:var(--lo-color-gray-900);background-color:var(--lo-color-white);border-radius:var(--lo-radius-md);box-shadow:var(--lo-shadow-lg);cursor:default}.modal-overlay .modal .section:not(:last-child){margin-bottom:var(--lo-space-6)}.modal-overlay .modal .title{font:var(--lo-font-display-style-sm);font-weight:var(--lo-font-display-weight-light);letter-spacing:.5px;color:var(--lo-color-gray-900)}.modal-overlay .modal .subtitle{font:var(--lo-font-text-style-sm);font-weight:var(--lo-font-text-weight-medium);color:var(--lo-color-gray-900)}.modal-overlay .modal .description{font:var(--lo-font-text-style-sm);font-weight:var(--lo-font-text-weight-regular);color:var(--lo-color-gray-900)}.modal-overlay .modal .subtitle+.description{margin-top:var(--lo-space-1)}#contact-overlay #password-reset-form{display:flex;align-items:center;justify-content:center;gap:var(--lo-space-3)}#contact-overlay #password-reset-input{flex:1}#contact-overlay #password-reset-button{width:100px}#error-overlay #error-modal-message{margin-top:var(--lo-space-2);padding:var(--lo-space-2) var(--lo-space-3);border-radius:var(--lo-radius-sm);background:var(--lo-color-gray-100);font:var(--lo-font-mono-style-sm)}.layout{display:flex;justify-content:center;align-items:center;width:100%;height:100%;min-width:1000px;min-height:800px}.layout>.section{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:0;height:100%;overflow:hidden}#loft-logo{width:auto;height:46px;margin:0 0 var(--lo-space-8) 0}#login-title{margin:0;font:var(--lo-font-display-style-sm);font-weight:var(--lo-font-display-weight-semibold);color:var(--lo-color-gray-900);letter-spacing:.5px}#login-form{width:360px;padding:var(--lo-space-9) 0;color:var(--lo-color-gray-900)}#login-form .form-element{width:100%}#login-form .form-element>*{width:100%}#login-form .form-element--input+.form-element--input{margin-top:var(--lo-space-5)}#login-form .form-element--input+.form-element--submit{margin-top:var(--lo-space-6)}#login-form .form-element--input label{display:block;margin-bottom:var(--lo-space-1);font:var(--lo-font-text-style-sm);font-weight:var(--lo-font-text-weight-medium);color:var(--lo-color-gray-700)}#login-form .form-element--input .error-text{font:var(--lo-font-text-style-sm);font-weight:var(--lo-font-text-weight-regular);color:var(--lo-color-error-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}#login-form .form-element--input .error-text:not(:empty){margin-top:var(--lo-space-1)}#login-form .form-element--submit .alert{margin-bottom:var(--lo-space-3)}#login-form .form-element--help{margin-top:var(--lo-space-6);text-align:center;color:var(--lo-color-gray-500);font:var(--lo-font-text-style-sm);font-weight:var(--lo-font-text-weight-regular)}#login-form .form-element--separator{margin:var(--lo-space-4) 0;display:flex;align-items:center;text-align:center;color:var(--lo-color-gray-500)}#login-form .form-element--separator:before,#login-form .form-element--separator:after{content:"";flex:1;border-bottom:1px solid var(--lo-color-gray-200)}#login-form .form-element--separator:before{margin-right:var(--lo-space-2)}#login-form .form-element--separator:after{margin-left:var(--lo-space-2)}#login-image{width:100%;height:100%;object-fit:cover;object-position:center;animation:zoom-in 7.5s ease-out forwards;animation-play-state:paused}input,button,.alert{height:44px;transition:outline-width .1s ease 0s,outline-color .1s ease 0s,border-color .1s ease 0s,background-color .1s ease 0s}input{padding:0 var(--lo-space-3);border:1px solid var(--lo-color-gray-300);border-radius:var(--lo-radius-md);font:var(--lo-font-text-style-md);color:var(--lo-color-gray-900);outline:none}input::placeholder{color:var(--lo-color-gray-300)}input:focus,input:active{outline:4px solid var(--lo-color-brand-focus)}input.invalid{border-color:var(--lo-color-error-300);outline-color:var(--lo-color-error-100)}button{display:flex;justify-content:center;align-items:center;gap:var(--lo-space-3);outline:none;border:none;border-width:1px;border-style:solid;border-radius:var(--lo-radius-md);font:var(--lo-font-text-style-md);font-weight:var(--lo-font-text-weight-medium);letter-spacing:.5px;cursor:pointer}button img{width:24px;height:24px}button:focus,button:active{outline:4px solid var(--lo-color-brand-focus)}button#login-button,button#password-reset-button{border-color:var(--lo-color-black);background-color:var(--lo-color-black);color:var(--lo-color-white);transition:border-color .1s ease 0s,background-color .1s ease 0s}button#login-button:hover:not(:active),button#password-reset-button:hover:not(:active){border-color:var(--lo-color-gray-700);background-color:var(--lo-color-gray-700)}button#provider-login-button{border-color:var(--lo-color-gray-300);background-color:var(--lo-color-white);color:var(--lo-color-gray-700);transition:border-color .1s ease 0s,background-color .1s ease 0s}button#provider-login-button:hover:not(:active){border-color:var(--lo-color-black);background-color:var(--lo-color-white)}.alert{display:flex;align-items:center;justify-content:center;background-color:var(--lo-color-error-100);border-radius:var(--lo-radius-md);color:var(--lo-color-error-500);font:var(--lo-font-text-style-sm)}a{cursor:pointer;text-decoration:none;color:var(--lo-color-brand-text)}a:hover,a:focus,a:active{outline:none;text-decoration:underline}
