*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}input{font-family:inherit;font-size:1em}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}html,body,#root,.App{height:100%;display:flex;flex-direction:column}.logo{filter:drop-shadow(0 0 2em #9863f6)}.card{padding:2em}.app-landing{display:flex;flex-direction:column;align-items:center}.app-landing__logos{display:flex;gap:2rem;margin-bottom:2rem}.app-landing__logo-img{padding:1rem;transition:filter .3s}.app-landing__logo-img:hover{filter:drop-shadow(0 0 2em #646cffaa)}.app-landing__title{font-size:2.25rem;font-weight:700;margin-bottom:1.5rem}.app-landing__card{padding:2rem;border-radius:.5rem;border:1px solid currentColor;opacity:.85}.app-landing__text{margin-bottom:1rem}.app-landing__link{font-weight:700;padding:.5rem 1.5rem;border-radius:9999px;transition:color .25s}.main-layout{display:flex;flex:1;flex-direction:column}.main-layout__header{padding:1rem;border-bottom:1px solid currentColor;opacity:.2;display:flex;justify-content:space-between;align-items:center}.main-layout__header{opacity:1;border-bottom:1px solid rgba(128,128,128,.3)}.main-layout__nav{display:flex;gap:1rem}.main-layout__nav-link--home{color:#646cff}.main-layout__nav-link--home:hover,.main-layout__nav-link:hover{text-decoration:underline}.main-layout__auth-btn{padding:.25rem .75rem;border-radius:.25rem;transition:color .25s}.main-layout__content{flex:1;padding:1rem}.main-layout__footer{padding:1rem;border-top:1px solid rgba(128,128,128,.3);text-align:center;font-size:.875rem}.auth-layout{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem}.auth-layout__brand{margin-bottom:2rem}.auth-layout__brand-link{font-size:1.875rem;font-weight:700;color:#646cff}.auth-layout__card{width:100%;max-width:28rem;padding:2rem;border-radius:.75rem;box-shadow:0 10px 15px -3px #0000001a;border:1px solid rgba(128,128,128,.3)}.auth-layout__footer{margin-top:2rem;text-align:center;font-size:.875rem}.auth-layout__footer a{transition:color .25s}.login-form{max-width:28rem;margin:0 auto;padding:1.5rem;margin-top:2.5rem}.login-form__title{margin-bottom:1rem}.login-form__error{text-align:center;font-size:.875rem;border:1px solid rgba(220,38,38,.3);padding:.5rem;border-radius:.25rem;margin-bottom:1rem}.login-form__field{margin-bottom:1rem}.login-form__input{display:block;width:100%;border:1px solid rgba(128,128,128,.3);padding:.5rem;border-radius:.25rem;background:transparent;color:inherit}.login-form__submit{width:100%;padding:.5rem;border:1px solid rgba(128,128,128,.3)}.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh}.dashboard{padding:2rem}.dashboard__title{font-size:1.5rem;font-weight:700;margin-bottom:1rem}.dashboard__text{margin-bottom:1.5rem}.dashboard__logout-btn{background-color:#dc2626;color:#fff;font-weight:700;padding:.5rem 1rem;border-radius:.25rem}.dashboard__logout-btn:hover{background-color:#b91c1c}.btn{padding:.5rem 1rem;border-radius:.375rem;font-weight:500;transition:background-color .25s,color .25s}.btn--primary{background-color:#2563eb;color:#fff}.btn--primary:hover{background-color:#1d4ed8}.btn--secondary{background-color:#e5e7eb;color:#1f2937}.btn--secondary:hover{background-color:#d1d5db}
