*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--accent:#d089ff;--accent-hover:#b644e8;--black:#1d1d1f;--white:#fff;--gray-light:#f8f6ff;--gray-mid:#86868b;--gray-dark:#424245;--border-subtle:#eae6f0;--shadow-card:0 20px 40px -12px #0000000f,0 2px 4px #00000005;--shadow-hover:0 30px 60px -16px #0000001a,0 4px 8px #00000005;--font-system:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue","Helvetica","Arial",sans-serif;--dur-normal:.4s;--ease-out:cubic-bezier(.25,.46,.45,.94)}html{height:100%}.input-group{margin-bottom:1.25rem}.login-body{background:linear-gradient(145deg,#f8f6ff,#ede9fe);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,sans-serif;display:flex;flex-direction:column}
.login-body .trp-footer,.signup-body .trp-footer{align-self:stretch;width:100%}.login-card{background:var(--white);width:100%;max-width:400px;animation:fadeUp .8s var(--ease-out) both;border:1px solid #fff9;border-radius:28px;padding:3rem 2.5rem;box-shadow:0 20px 40px -12px #0000000f}.login-card:hover{transition:all .4s var(--ease-out);transform:translateY(-2px);box-shadow:0 30px 60px -16px #0000001a}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.login-card .brand{justify-content:center;align-items:center;gap:12px;margin-bottom:2rem;display:flex}.login-card .brand__logo{height:38px}.login-card .card-title{text-align:center;letter-spacing:-.03em;margin-bottom:.25rem;font-size:1.8rem;font-weight:800}.login-card .card-sub{text-align:center;color:var(--gray-mid);margin-bottom:2rem}.login-card label{color:var(--gray-dark);text-transform:uppercase;margin-bottom:.4rem;font-size:.8rem;font-weight:600;display:block}.login-card .input-group input{border:1.5px solid var(--border-subtle);width:100%;transition:border-color .4s var(--ease-out);border-radius:14px;padding:14px 16px;font-size:1rem}.login-card .input-group input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 4px #d089ff1f}.login-card .forgot-row{justify-content:flex-end;margin-top:.25rem;display:flex}.login-card .forgot-link{color:var(--gray-mid);cursor:pointer;font-size:.85rem;font-weight:600;text-decoration:none}.login-card .btn-submit{color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-hover));cursor:pointer;width:100%;transition:all .4s var(--ease-out);border:none;border-radius:40px;padding:14px;font-size:1rem;font-weight:700}.login-card .btn-submit.loading{pointer-events:none;opacity:.8}.login-card .divider{align-items:center;gap:1rem;margin:2rem 0 1.5rem;display:flex}.login-card .divider:before,.login-card .divider:after{content:"";background:var(--border-subtle);flex:1;height:1px}.login-card .signup-footer{text-align:center;color:var(--gray-dark);font-size:.9rem}.login-card .signup-footer a{color:var(--accent);font-weight:700;text-decoration:none}.login-card .error{color:#991b1b;text-align:center;background:#fef2f2;border:1px solid #fecaca;border-radius:14px;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.9rem;display:none}.login-card .error.show{animation:shake .45s var(--ease-out);display:block}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.signup-body{font-family:var(--font-system);color:var(--black);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(145deg,#f8f6ff,#ede9fe);justify-content:center;align-items:center;min-height:100vh;margin:0;padding:1.5rem;font-weight:500;line-height:1.6;display:flex;flex-direction:column}.signup-container{background:var(--white);width:100%;max-width:600px;box-shadow:var(--shadow-card);backdrop-filter:blur(2px);transition:box-shadow var(--dur-normal) var(--ease-out),transform var(--dur-normal) var(--ease-out);animation:cardFadeUp .8s var(--ease-out) both;border:1px solid #fff9;border-radius:28px;padding:2.5rem}.signup-container:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}@keyframes cardFadeUp{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.signup-container .brand{justify-content:center;align-items:center;gap:12px;margin-bottom:1.5rem;display:flex}.signup-container .brand__logo{border-radius:8px;width:auto;height:38px;display:block}.signup-container .brand__name{letter-spacing:-.02em;color:var(--black);font-size:1.4rem;font-weight:700}.signup-container .brand__name span{color:var(--gray-mid);font-weight:300}.signup-container h1{text-align:center;letter-spacing:-.02em;color:var(--black);margin-bottom:.25rem;font-size:1.6rem;font-weight:800}.signup-container .step-info{text-align:center;color:var(--gray-mid);margin-bottom:1.5rem;font-size:.9rem;font-weight:500}.signup-container .progress-bar-container{background-color:var(--border-subtle);border-radius:40px;width:100%;height:6px;margin:1.5rem 0 2rem;overflow:hidden}.signup-container .progress-fill{background:linear-gradient(90deg,var(--accent),var(--accent-hover));border-radius:40px;width:0%;height:100%;transition:width .35s cubic-bezier(.2,.9,.4,1.1)}.signup-container .step{animation:.3s ease-out fadeIn;display:none}.signup-container .step.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.signup-container label{color:var(--gray-dark);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.4rem;font-size:.8rem;font-weight:600;display:block}.signup-container input,.signup-container select,.signup-container textarea{background:var(--white);border:1.5px solid var(--border-subtle);width:100%;color:var(--black);transition:border-color var(--dur-normal) var(--ease-out),box-shadow var(--dur-normal) var(--ease-out);border-radius:14px;padding:14px 16px;font-family:inherit;font-size:1rem;font-weight:500}.signup-container textarea{resize:vertical;min-height:90px}.signup-container input::placeholder,.signup-container textarea::placeholder{color:var(--gray-mid);font-weight:400}.signup-container input:focus,.signup-container select:focus,.signup-container textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 4px #d089ff1f}.signup-container .button-group{justify-content:space-between;gap:1rem;margin-top:2rem;display:flex}.signup-container button{background:linear-gradient(135deg,var(--accent),var(--accent-hover));cursor:pointer;transition:all var(--dur-normal) var(--ease-out);color:#fff;letter-spacing:-.2px;border:none;border-radius:40px;padding:12px 28px;font-family:inherit;font-size:.95rem;font-weight:700;box-shadow:0 4px 16px #d089ff40}.signup-container button.prev{color:var(--gray-dark);box-shadow:none;background:#f1f5f9}.signup-container button.prev:hover{box-shadow:none;background:#e2e8f0;transform:none}.signup-container button:hover:not(.prev){transform:translateY(-2px)scale(1.01);box-shadow:0 8px 28px #d089ff59}.signup-container button:active{transform:translateY(0)scale(.98)}.signup-container button:disabled{opacity:.6;pointer-events:none}.signup-container .error{color:#991b1b;text-align:center;background:#fef2f2;border:1px solid #fecaca;border-radius:14px;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.9rem;font-weight:500;display:none}.signup-container .error.show{animation:errorShake .45s var(--ease-out);display:block}.signup-container .success{color:#15803d;text-align:center;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:14px;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.9rem;font-weight:500;display:none}.signup-container .success.show{display:block}@keyframes errorShake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.signup-container hr{border:none;border-top:1px solid var(--border-subtle);margin:1.5rem 0}.signup-container .switch{text-align:center;color:var(--gray-dark);margin-top:1.8rem;font-size:.9rem;font-weight:500}.signup-container .switch a{color:var(--accent);transition:color var(--dur-normal) var(--ease-out);font-weight:700;text-decoration:none}.signup-container .switch a:hover{color:var(--accent-hover);text-decoration:underline}.signup-container .step p{color:var(--gray-dark);font-weight:500}@media (width<=560px){.signup-body{padding:1rem}.signup-container{border-radius:20px;padding:1.5rem}.signup-container .brand__logo{height:32px}.signup-container .brand__name{font-size:1.2rem}.signup-container h1{font-size:1.4rem}.signup-container .button-group{flex-direction:column;gap:.75rem}.signup-container button{justify-content:center;width:100%}}