*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--blue-500:#2563eb;--cyan-500:#06b6d4;--purple-500:#7c3aed;--green-500:#10b981;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--white:#fff;--gradient-primary:linear-gradient(135deg, var(--blue-500), var(--cyan-500));--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.25rem;--radius-full:9999px}html,body{height:100%;color:var(--gray-700);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:var(--blue-500);text-decoration:none}.login-page{min-height:100vh;display:flex}.login-brand{background:linear-gradient(135deg,#1e3a8a,#0e7490);flex-direction:column;flex:1;justify-content:center;padding:3rem;display:flex;position:relative;overflow:hidden}.brand-bg-shapes .shape{opacity:.08;background:#fff;border-radius:50%;position:absolute}.shape-1{width:400px;height:400px;top:-100px;right:-100px}.shape-2{width:250px;height:250px;bottom:-50px;left:-50px}.shape-3{width:150px;height:150px;top:40%;left:60%}.brand-content{z-index:2;max-width:480px;position:relative}.brand-logo{color:#fff;align-items:center;gap:.65rem;margin-bottom:3rem;font-size:1.5rem;font-weight:800;text-decoration:none;display:flex}.brand-headline{color:#fff;letter-spacing:-.03em;margin-bottom:1rem;font-size:2.5rem;font-weight:800;line-height:1.15}.brand-sub{color:#ffffffb3;margin-bottom:3rem;font-size:1.05rem;line-height:1.7}.brand-stats{gap:2.5rem;display:flex}.brand-stat{flex-direction:column;display:flex}.brand-stat-num{color:#fff;font-size:1.5rem;font-weight:800}.brand-stat-label{color:#ffffff80;font-size:.82rem;font-weight:500}.login-form-panel{background:var(--white);flex:1;justify-content:center;align-items:center;padding:3rem;display:flex}.form-container{width:100%;max-width:420px}.form-tabs{background:var(--gray-100);border-radius:var(--radius-lg);gap:0;margin-bottom:2rem;padding:4px;display:flex}.form-tab{color:var(--gray-500);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:none;flex:1;padding:.65rem 1rem;font-family:inherit;font-size:.88rem;font-weight:600;transition:all .25s}.form-tab.active{background:var(--white);color:var(--gray-800);box-shadow:0 1px 3px #00000014}.auth-form.hidden{display:none}.form-title{color:var(--gray-900);letter-spacing:-.02em;margin-bottom:.35rem;font-size:1.65rem;font-weight:800}.form-subtitle{color:var(--gray-400);margin-bottom:2rem;font-size:.9rem}.form-group{margin-bottom:1.25rem}.label-row{justify-content:space-between;align-items:center;display:flex}.form-label{color:var(--gray-700);margin-bottom:.4rem;font-size:.82rem;font-weight:600;display:block}.forgot-link{color:var(--blue-500);font-size:.78rem;font-weight:500}.forgot-link:hover{text-decoration:underline}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:var(--gray-400);pointer-events:none;position:absolute;left:.875rem}.form-input{width:100%;color:var(--gray-800);border:1.5px solid var(--gray-200);border-radius:var(--radius-md);background:var(--white);outline:none;padding:.75rem .875rem .75rem 2.75rem;font-family:inherit;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.form-input:focus{border-color:var(--blue-500);box-shadow:0 0 0 3px #2563eb1a}.form-input::placeholder{color:var(--gray-300)}.toggle-pw{color:var(--gray-400);cursor:pointer;background:0 0;border:none;padding:2px;display:flex;position:absolute;right:.875rem}.toggle-pw:hover{color:var(--gray-600)}.btn{border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.8rem 1.5rem;font-family:inherit;font-size:.92rem;font-weight:600;transition:all .25s;display:inline-flex}.btn-primary{background:var(--gradient-primary);color:var(--white);box-shadow:0 4px 14px #2563eb4d}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #2563eb73}.btn-full{width:100%;margin-top:.5rem}.divider{align-items:center;gap:1rem;margin:1.5rem 0;display:flex}.divider:before,.divider:after{content:"";background:var(--gray-200);flex:1;height:1px}.divider span{color:var(--gray-400);white-space:nowrap;font-size:.78rem}.social-btns{gap:.75rem;display:flex}.social-btn{color:var(--gray-700);background:var(--white);border:1.5px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.7rem;font-family:inherit;font-size:.85rem;font-weight:500;transition:all .2s;display:flex}.social-btn:hover{background:var(--gray-50);border-color:var(--gray-300)}.role-selector{gap:.75rem;display:flex}.role-option{cursor:pointer;flex:1}.role-option input{display:none}.role-card{border:2px solid var(--gray-200);border-radius:var(--radius-lg);color:var(--gray-400);background:var(--white);flex-direction:column;align-items:center;gap:.6rem;padding:1.35rem 1rem;transition:all .35s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.role-card:before{content:"";opacity:0;border-radius:calc(var(--radius-lg) - 2px);transition:opacity .35s;position:absolute;inset:0}#role-business .role-card:before{background:linear-gradient(135deg,#2563eb0a,#06b6d40a)}#role-investor .role-card:before{background:linear-gradient(135deg,#7c3aed0a,#ec48990a)}.role-card:hover{border-color:var(--gray-300);transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.role-card:hover:before{opacity:1}.role-card svg{transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.role-card:hover svg{transform:scale(1.15)}.role-card span{z-index:1;font-size:.85rem;font-weight:700;position:relative}#role-business input:checked+.role-card{border-color:var(--blue-500);color:var(--blue-500);background:linear-gradient(135deg,#2563eb0f,#06b6d40f);transform:translateY(-2px);box-shadow:0 4px 15px #2563eb26,0 0 0 3px #2563eb0f}#role-business input:checked+.role-card:before{opacity:1}#role-business input:checked+.role-card svg{filter:drop-shadow(0 2px 4px #2563eb40);transform:scale(1.1)}#role-investor input:checked+.role-card{border-color:var(--purple-500);color:var(--purple-500);background:linear-gradient(135deg,#7c3aed0f,#ec48990f);transform:translateY(-2px);box-shadow:0 4px 15px #7c3aed26,0 0 0 3px #7c3aed0f}#role-investor input:checked+.role-card:before{opacity:1}#role-investor input:checked+.role-card svg{filter:drop-shadow(0 2px 4px #7c3aed40);transform:scale(1.1)}.role-option input:checked+.role-card{animation:.4s roleSelect}@keyframes roleSelect{0%{transform:translateY(0)scale(1)}40%{transform:translateY(-4px)scale(1.02)}to{transform:translateY(-2px)scale(1)}}.form-terms{color:var(--gray-400);text-align:center;margin-top:1.25rem;font-size:.78rem;line-height:1.5}.form-terms a{text-decoration:underline}.btn.loading{pointer-events:none;opacity:.8}.btn.loading:after{content:"";border:2px solid #0000;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.google-signin-btn{flex:2}.google-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0006;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.google-modal{background:var(--white);border-radius:var(--radius-xl);width:400px;max-width:90vw;animation:.3s slideUp;overflow:hidden;box-shadow:0 25px 60px #0003}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.google-modal-header{border-bottom:1px solid var(--gray-100);align-items:center;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.google-modal-header h3{color:var(--gray-800);flex:1;font-size:1rem;font-weight:700}.google-modal-close{color:var(--gray-400);cursor:pointer;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1;transition:color .2s}.google-modal-close:hover{color:var(--gray-700)}.google-modal-body{padding:1.25rem 1.5rem}.google-modal-info{color:var(--gray-500);margin-bottom:1rem;font-size:.88rem;line-height:1.5}.google-modal-note{color:var(--gray-400);text-align:center;margin-top:1rem;font-size:.78rem}.google-account-list{flex-direction:column;gap:.25rem;display:flex}.google-account-item{border:1.5px solid var(--gray-100);border-radius:var(--radius-md);background:var(--white);cursor:pointer;text-align:left;align-items:center;gap:.75rem;width:100%;padding:.75rem .875rem;font-family:inherit;transition:all .2s;display:flex}.google-account-item:hover{background:var(--gray-50);border-color:var(--gray-200)}.google-account-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.75rem;font-weight:700;display:flex}.google-account-info{flex-direction:column;min-width:0;display:flex}.google-account-name{color:var(--gray-800);font-size:.88rem;font-weight:600}.google-account-email{color:var(--gray-400);font-size:.78rem}.google-modal-footer-text{color:var(--gray-400);text-align:center;border-top:1px solid var(--gray-100);margin-top:1rem;padding-top:.75rem;font-size:.72rem}.google-modal-footer-text a{color:var(--blue-500);text-decoration:underline}@media (width<=900px){.login-brand{display:none}.login-form-panel{padding:2rem}}@media (width<=480px){.form-container{max-width:100%}.form-title{font-size:1.35rem}.social-btns{flex-direction:column}}.auth-message-banner{border-radius:var(--radius-md);color:#dc2626;background:linear-gradient(135deg,#ef44440d,#f43f5e0d);border:1px solid #ef444426;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem;padding:.75rem 1rem;animation:.35s cubic-bezier(.16,1,.3,1) forwards bannerSlideDown;display:flex;position:relative}.auth-message-banner.hidden{display:none!important}.message-banner-icon{color:#ef4444;flex-shrink:0;justify-content:center;align-items:center;margin-top:.1rem;display:flex}.message-banner-text{text-align:left;flex:1;font-size:.8rem;font-weight:500;line-height:1.4}.message-banner-close{color:#dc262680;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:18px;height:18px;margin-left:.5rem;padding:0;font-size:1.15rem;line-height:1;transition:color .2s;display:flex}.message-banner-close:hover{color:#dc2626}@keyframes bannerSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
