html{font-size:100%}@media(min-width:1024px)and (max-width:1439px){html{font-size:90%}}@media(min-width:1440px){html{font-size:100%}}@media print{html{font-size:100%}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Nunito,sans-serif;background-color:#dcfce7;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;position:relative;overflow-x:hidden;color:#1f2937;padding-top:2rem}.wave-top{position:fixed;top:-3.75rem;left:-5%;width:110%;height:23.75rem;background:#fff;border-bottom-right-radius:55% 45%;border-bottom-left-radius:18% 12%;z-index:0;box-shadow:0 .5rem 2rem #22c55e14}.wave-bottom{position:fixed;bottom:-5rem;left:-8%;width:124%;height:17.5rem;background:#fff;border-top-left-radius:65% 85%;border-top-right-radius:100% 35%;z-index:0;opacity:.55}main{position:relative;z-index:10;width:100%;max-width:26.25rem;padding:2rem 2rem 2.5rem;display:flex;flex-direction:column;align-items:center}.logo-title-wrap{display:flex;align-items:center;justify-content:center;margin-bottom:2.8rem;position:relative}.logo-wrap{width:60%;flex-shrink:0}.logo-wrap img{width:100%;height:auto;filter:drop-shadow(0 .125rem .375rem rgba(0,0,0,.08))}.brand-title{text-align:center;animation:fadeDown .7s .1s ease both;flex:none;position:relative;left:-2.5rem}.brand-title h1{font-size:2.4rem;font-weight:800;letter-spacing:.04em;line-height:1}.brand-title h1 .green{color:#16a34a}.brand-title h1 .teal{color:#22c55e}form{width:100%;margin-top:clamp(1.5rem,5dvh,2.75rem)}.field{margin-bottom:2rem;animation:fadeUp .6s .2s ease both}.field+.field{animation-delay:.3s}.input-row{display:flex;align-items:center;border-bottom:2px solid #d1d5db;padding:.45rem 0;transition:border-color .25s;position:relative}.input-row:focus-within{border-color:#22c55e}.input-row svg.icon{width:1.25rem;height:1.25rem;color:#374151;flex-shrink:0;margin-right:.75rem}.input-row input{flex:1;background:transparent;border:none;outline:none;font-family:Nunito,sans-serif;font-size:.95rem;color:#374151}.input-row input::-moz-placeholder{color:#9ca3af}.input-row input::placeholder{color:#9ca3af}input:-webkit-autofill{-webkit-box-shadow:0 0 0 2.5rem #dcfce7 inset!important}.hint{font-size:.72rem;color:#9ca3af;margin-top:.45rem;padding-left:.1rem}.toggle-pw{position:absolute;right:.125rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:.25rem;color:#9ca3af;transition:color .2s}.toggle-pw:hover{color:#22c55e}.toggle-pw svg{width:1.25rem;height:1.25rem;display:block}.row-options{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem;margin-bottom:2.8rem;animation:fadeUp .6s .4s ease both}.forgot-link{font-size:.82rem;font-weight:600;color:#0f766e;text-decoration:none;border-bottom:1px solid transparent;padding-bottom:.0625rem;transition:border-color .2s,color .2s}.forgot-link:hover{color:#134e4a;border-color:#134e4a}.remember-label{display:flex;align-items:center;gap:.6rem;cursor:pointer}.remember-label span{font-size:.82rem;font-weight:600;color:#0f766e}.switch{position:relative;width:2.625rem;height:1.5rem}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;inset:0;background:#d1d5db;border-radius:6.1875rem;transition:background .3s}.slider:before{content:"";position:absolute;left:.1875rem;top:.1875rem;width:1.125rem;height:1.125rem;background:#fff;border-radius:50%;box-shadow:0 .0625rem .25rem #0000002e;transition:transform .3s}.switch input:checked+.slider{background:#22c55e}.switch input:checked+.slider:before{transform:translate(1.125rem)}.btn-wrap{display:flex;justify-content:center;animation:fadeUp .6s .5s ease both}.btn-login{width:16.25rem;background:linear-gradient(135deg,#0d9488,#22c55e);color:#fff;font-family:Nunito,sans-serif;font-size:.9rem;font-weight:800;letter-spacing:.12em;border:none;border-radius:6.1875rem;padding:.85rem 1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 .5rem 1.25rem #22c55e59;transition:box-shadow .25s,transform .2s}.btn-login:hover:not(:disabled){box-shadow:0 .75rem 1.75rem #22c55e73;transform:translateY(-.125rem)}.btn-login:active:not(:disabled){transform:translateY(0)}.btn-login:disabled{opacity:.8;cursor:not-allowed}@keyframes spin{to{transform:rotate(360deg)}}.spinner{animation:spin .8s linear infinite;width:1.25rem;height:1.25rem}.hidden{display:none}footer{position:relative;width:100%;text-align:center;margin-top:auto;padding:2rem 0 1.5rem}footer .copy{font-size:.72rem;color:#6b7280;font-weight:600}footer .sub{font-size:.65rem;color:#9ca3af;margin-top:.1875rem}@media(max-height:684px),(max-width:480px){body{padding-top:clamp(.5rem,2dvh,1rem)}.wave-top{top:clamp(-3.75rem,-8dvh,-2.5rem);height:clamp(16.25rem,42dvh,20rem)}.wave-bottom{bottom:clamp(-5rem,-10dvh,-3.4375rem);height:clamp(12.5rem,30dvh,15rem)}main{max-width:clamp(21rem,55dvh,23.75rem);padding:clamp(.5rem,2dvh,1rem) clamp(1.25rem,4vw,1.6rem) clamp(.5rem,1.5dvh,1rem)}.logo-title-wrap{margin-bottom:clamp(1.25rem,3.2dvh,2rem)}.logo-wrap{width:52%}.brand-title h1{font-size:clamp(1.9rem,4.4dvh,2.15rem)}.field{margin-bottom:clamp(1.05rem,2.8dvh,1.6rem)}.input-row{padding:clamp(.32rem,.9dvh,.42rem) 0}.input-row svg.icon{width:clamp(1.0625rem,2.5dvh,1.1875rem);height:clamp(1.0625rem,2.5dvh,1.1875rem);margin-right:.65rem}.input-row input{font-size:clamp(.82rem,2dvh,.9rem)}.hint{font-size:clamp(.62rem,1.5dvh,.68rem);margin-top:.35rem}.toggle-pw{padding:.1875rem}.toggle-pw svg{width:clamp(1.0625rem,2.5dvh,1.1875rem);height:clamp(1.0625rem,2.5dvh,1.1875rem)}.row-options{margin-top:.35rem;margin-bottom:clamp(1.5rem,4.2dvh,2.2rem)}.forgot-link,.remember-label span{font-size:clamp(.66rem,1.75dvh,.76rem)}.remember-label{gap:.5rem}.switch{width:2.25rem;height:1.25rem}.slider:before{left:.15625rem;top:.15625rem;width:.9375rem;height:.9375rem}.switch input:checked+.slider:before{transform:translate(1rem)}.btn-login{width:clamp(13.125rem,32dvh,14.6875rem);font-size:clamp(.74rem,1.8dvh,.82rem);padding:clamp(.62rem,1.7dvh,.75rem) 1.25rem}.spinner{width:1.125rem;height:1.125rem}footer{padding:clamp(.6rem,1.8dvh,1rem) 0 clamp(.4rem,1.1dvh,.75rem)}footer .copy{font-size:clamp(.6rem,1.45dvh,.68rem)}footer .sub{font-size:clamp(.55rem,1.3dvh,.62rem);margin-top:.125rem}}@keyframes fadeDown{0%{opacity:0;transform:translateY(-1rem)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}.registration-link{color:#6b7280;font-size:.8rem;margin-top:1.25rem;text-align:center}.registration-link a{color:#0f766e;font-weight:800;text-decoration:none}.registration-link a:hover{text-decoration:underline}
