*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#fafbfc;color:#0f172a;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;min-height:100vh;position:relative}.gradient-header{position:fixed;top:0;left:0;width:100%;height:33vh;background:linear-gradient(90deg,#60a5fa 0%,#7B2FF7 30%,#a855f7 50%,#f97316 80%,#ef4444 100%);z-index:0}.white-section{position:fixed;bottom:0;left:0;width:100%;height:67vh;background:#ffffff;z-index:0}.top-logo{position:fixed;top:2rem;left:2rem;display:flex;align-items:center;gap:.75rem;z-index:10}.logo-circle{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.2);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.3)}.logo-text{font-size:1rem;font-weight:700;color:#fff;letter-spacing:-.01em}.brand-name{font-size:1.25rem;font-weight:600;color:#fff;letter-spacing:-.02em;text-transform:lowercase}.login-card{position:relative;z-index:5;background:white;border-radius:24px;padding:3.5rem;max-width:440px;width:90%;margin:8vh auto;box-shadow:0 18px 45px #0f172a14}.card-header{margin-bottom:2.5rem}.card-title{font-size:1.9rem;font-weight:600;color:#0f172a;margin-bottom:.75rem;letter-spacing:-.03em;line-height:1.2}.card-subtitle{font-size:.95rem;color:#6b7280;line-height:1.5;font-weight:400}.tabs{display:flex;gap:0;margin-bottom:2.5rem;border-bottom:1px solid #e5e7eb}.tab-button{padding:.75rem 1.25rem;border:none;background:transparent;color:#6b7280;font-size:.9375rem;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s ease;margin-bottom:-1px;position:relative}.tab-button.active{color:#6d28d9;border-bottom-color:#6d28d9}.tab-button:hover:not(.active){color:#374151}.tab-content{display:none}.tab-content.active{display:block}.auth-form{width:100%}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.8125rem;font-weight:500;color:#374151;margin-bottom:.5rem;letter-spacing:-.01em}.label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.form-group input{width:100%;height:44px;padding:0 1rem;border:1px solid #e5e7eb;border-radius:10px;font-size:.9375rem;transition:all .2s cubic-bezier(.4,0,.2,1);font-family:inherit;background:white;color:#0f172a}.form-group input:focus{outline:none;border-color:#6d28d9;box-shadow:0 0 0 1px #6d28d91f}.form-group input::placeholder{color:#9ca3af}.password-input-wrapper{position:relative}.password-input-wrapper input{padding-right:3rem}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.eye-icon{font-size:1.125rem;opacity:.5;transition:opacity .2s ease}.password-toggle:hover .eye-icon{opacity:.8}.forgot-link{color:#6d28d9;text-decoration:none;font-size:.8125rem;font-weight:500;transition:color .2s ease}.forgot-link:hover{color:#5b21b6;text-decoration:underline}.checkbox-group{display:flex;align-items:center;gap:.625rem;margin-bottom:1.75rem}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#6d28d9;flex-shrink:0}.checkbox-group label{font-size:.875rem;color:#374151;cursor:pointer;margin:0;font-weight:400}.btn-primary{width:100%;height:44px;padding:0 1.5rem;background:#6d28d9;color:#fff;border:none;border-radius:999px;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);margin-bottom:1.75rem;letter-spacing:-.01em}.btn-primary:hover{background:#5b21b6;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.signup-link{text-align:center;font-size:.875rem;color:#6b7280;margin-bottom:2rem}.signup-link a{color:#6d28d9;text-decoration:none;font-weight:500;margin-left:.25rem}.signup-link a:hover{text-decoration:underline}.security-note{display:flex;gap:.75rem;padding-top:2rem;border-top:1px solid #e5e7eb}.lock-icon{font-size:1rem;flex-shrink:0;margin-top:.125rem}.security-note p{font-size:.8125rem;color:#6b7280;line-height:1.6}.page-footer{position:fixed;bottom:2rem;left:2rem;z-index:10;display:flex;gap:1rem;font-size:.8125rem;color:#9ca3af}.page-footer a{color:#9ca3af;text-decoration:none;transition:color .2s ease}.page-footer a:hover{color:#6b7280;text-decoration:underline}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(15,23,42,.4);backdrop-filter:blur(4px);z-index:1000;align-items:center;justify-content:center}.modal.active{display:flex}.modal-content{background:white;border-radius:24px;padding:2.5rem;max-width:420px;width:90%;box-shadow:0 18px 45px #0f172a1f}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-header h3{margin:0;color:#0f172a;font-size:1.25rem;font-weight:600;letter-spacing:-.02em}.modal-close{background:none;border:none;font-size:1.5rem;color:#9ca3af;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s ease;border-radius:6px}.modal-close:hover{color:#374151;background:#f3f4f6}.modal-description{color:#6b7280;font-size:.875rem;margin-bottom:1.5rem;line-height:1.6}.modal-actions{display:flex;gap:.75rem;margin-top:1.5rem}.btn-secondary{flex:1;height:44px;padding:0 1.5rem;background:#f3f4f6;color:#374151;border:none;border-radius:999px;font-weight:500;font-size:.9375rem;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#e5e7eb}.alert{margin-top:1.25rem;padding:1rem 1.25rem;border-radius:12px;font-size:.875rem;line-height:1.5}.alert-success{background:#ecfdf5;border:1px solid #86efac;color:#065f46}.alert-error{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b}.alert strong{display:block;margin-bottom:.25rem;font-weight:600}.alert p{margin:0;font-size:.8125rem}@media (max-width: 768px){.gradient-header{height:25vh}.white-section{height:75vh}.top-logo{top:1.5rem;left:1.5rem}.login-card{padding:2.5rem 2rem;margin:6vh auto;width:95%;border-radius:20px}.card-header{margin-bottom:2rem}.card-title{font-size:1.625rem}.card-subtitle{font-size:.875rem}.tabs{margin-bottom:2rem}.page-footer{bottom:1.5rem;left:1.5rem;font-size:.75rem}.modal-content{padding:2rem 1.5rem;border-radius:20px}}
