.auth-page{min-height:100vh;font-family:Agrandir,sans-serif;display:flex}.gradient-panel{background:linear-gradient(160deg,#00246b 0%,#0f378c 40%,#3c64b4 70%,#8cb9e6 100%);flex-direction:column;justify-content:space-between;width:50%;padding:64px;display:none;position:relative;overflow:hidden}.gradient-panel:before{content:"";pointer-events:none;background:radial-gradient(80% 60% at 20% 80%,#ffffff0f 0%,#0000 60%),radial-gradient(50% 40% at 70% 20%,#ffffff0a 0%,#0000 50%);position:absolute;inset:0}.logo-container{align-items:center;gap:10px;display:flex}.hero-title{color:#fff;letter-spacing:-.03em;text-shadow:0 2px 20px #0003;font-size:52px;font-weight:600;line-height:1.15}.hero-subtitle{color:#fff9;margin-top:12px;font-size:17px;line-height:1.6}.form-container{background:#f8f9fc;justify-content:center;align-items:center;width:100%;padding:32px;display:flex;position:relative}.form-wrapper{width:100%;max-width:448px}.mobile-branding{justify-content:center;align-items:center;gap:8px;margin-bottom:32px;display:flex}.mobile-logo{width:auto;height:28px}.mobile-wordmark{letter-spacing:-.08em;color:#00246b;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:26px;font-weight:700;line-height:1}.form-title{color:#00246b;text-align:center;letter-spacing:-.01em;margin-bottom:8px;font-size:26px;font-weight:300}.error-message{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;margin-bottom:16px;padding:12px;font-size:14px}.input{color:#00246b;background:#fff;border:1px solid #00246b1f;border-radius:12px;outline:none;width:100%;margin-bottom:16px;padding:12px 16px;font-family:Agrandir,sans-serif;font-size:15px;transition:all .2s;box-shadow:0 1px 2px #00246b0a}.input::placeholder{color:#00246b4d}.input:focus{border-color:#00246b;box-shadow:0 0 0 3px #00246b14,0 1px 2px #00246b0a}.input:-webkit-autofill{-webkit-text-fill-color:#00246b;transition:background-color 5000s ease-in-out;-webkit-box-shadow:inset 0 0 0 1000px #fff}.input:-webkit-autofill:hover{-webkit-text-fill-color:#00246b;transition:background-color 5000s ease-in-out;-webkit-box-shadow:inset 0 0 0 1000px #fff}.input:-webkit-autofill:focus{-webkit-text-fill-color:#00246b;transition:background-color 5000s ease-in-out;-webkit-box-shadow:inset 0 0 0 1000px #fff}.btn-primary{color:#fff;cursor:pointer;background:#00246b;border:none;border-radius:12px;width:100%;margin-bottom:24px;padding:12px 16px;font-family:Agrandir,sans-serif;font-size:15px;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #00246b33}.btn-primary:hover:not(:disabled){background:#00328c;transform:translateY(-1px);box-shadow:0 4px 16px #00246b59}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #00246b33}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.ghost{color:#00246b;cursor:pointer;background:0 0;border:1px solid #00246b33;border-radius:12px;width:100%;padding:12px 16px;font-family:Agrandir,sans-serif;font-size:15px;font-weight:600;transition:all .2s}.ghost:hover:not(:disabled){background:#00246b0d;border-color:#00246b59}.ghost:disabled{opacity:.4;cursor:not-allowed}.divider{text-align:center;margin-bottom:24px;position:relative}.divider:before{content:"";background:#00246b14;height:1px;position:absolute;top:50%;left:0;right:0}.divider span{color:#00246b59;text-transform:uppercase;letter-spacing:.05em;background:#f8f9fc;padding:0 16px;font-size:13px;position:relative}.btn-google{cursor:pointer;color:#00246b;background:#fff;border:1px solid #00246b1f;border-radius:12px;justify-content:center;align-items:center;gap:12px;width:100%;margin-bottom:32px;padding:12px 16px;font-family:Agrandir,sans-serif;font-size:15px;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 1px 2px #00246b0a}.btn-google:hover:not(:disabled){background:#fff;border-color:#00246b4d;transform:translateY(-1px);box-shadow:0 4px 12px #00246b1a}.btn-google:active:not(:disabled){box-shadow:none;transform:translateY(0)}.btn-google:disabled{opacity:.4;cursor:not-allowed}.footer{text-align:center}.footer p{color:#00246b80;margin-top:8px;font-size:14px}.link-btn{color:#00246b;cursor:pointer;background:0 0;border:none;font-family:Agrandir,sans-serif;font-size:14px;font-weight:700}.link-btn:hover{color:#001c55;text-decoration:underline}.role-selection-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:24px;display:grid}.role-card{-webkit-backdrop-filter:blur(14px)saturate(140%);cursor:pointer;background:linear-gradient(140deg,#ffffffd9 0%,#ffffff80 100%);border:1px solid #ffffffb3;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%;padding:16px 10px 14px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffe6,inset 0 -1px #00246b0a,0 4px 14px #00246b0f,0 1px 3px #00246b0a}.role-card:before{content:"";pointer-events:none;background:linear-gradient(#ffffff73 0%,#fff0 100%);height:50%;position:absolute;top:0;left:0;right:0}.role-card:after{display:none}.role-card:hover:not(.role-card-disabled){background:linear-gradient(140deg,#fffffff2 0%,#ffffffa6 100%);border-color:#00246b2e;transform:translateY(-2px);box-shadow:inset 0 1px #fff,inset 0 -1px #00246b0d,0 12px 28px #00246b1f,0 2px 6px #00246b0f}.role-card:active:not(.role-card-disabled){transform:translateY(0);box-shadow:inset 0 1px #ffffffe6,0 2px 8px #00246b14}.role-card-selected{background:linear-gradient(140deg,#fffffff2 0%,#edf3ffb3 100%);border-color:#00246b66;box-shadow:inset 0 1px #fff,0 4px 12px #00246b26}.role-card-disabled{opacity:.6;cursor:not-allowed}.role-icon{color:#00246b;background:linear-gradient(135deg,#edf3fff2 0%,#dce8ffd9 100%);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:inset 0 1px #ffffffe6,0 1px 2px #00246b0d}.role-icon-tenant,.role-icon-landlord,.role-icon-vendor{color:#00246b}.role-card:hover .role-icon{transform:scale(1.08)}.role-title{color:#00246b;letter-spacing:-.005em;margin:0;font-size:13px;font-weight:500}.role-card-stagger{opacity:0;animation:.5s cubic-bezier(.16,1,.3,1) forwards cardSlideIn}.role-card-stagger:first-child{animation-delay:50ms}.role-card-stagger:nth-child(2){animation-delay:.1s}.role-card-stagger:nth-child(3){animation-delay:.15s}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.typing-cursor{color:#fff;margin-left:2px;font-weight:300}.typing-cursor-blink{animation:1s step-end infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.auth-fade-in{opacity:0;animation:.8s ease-out forwards fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.auth-slide-up{opacity:0;animation:1.2s cubic-bezier(.16,1,.3,1) .3s forwards slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.auth-content-enter{animation:.35s cubic-bezier(.16,1,.3,1) forwards contentEnter}.auth-content-exit{pointer-events:none;animation:.2s cubic-bezier(.4,0,1,1) forwards contentExit}@keyframes contentEnter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes contentExit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}@media (width>=1024px){.gradient-panel{display:flex}.form-container{width:50%}.mobile-branding{display:none}.divider span{background:#f8f9fc}}.role-coming-soon{letter-spacing:.04em;text-transform:uppercase;color:#00246b8c;pointer-events:none;background:#edf3ffd9;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:600;position:absolute;top:6px;right:6px}.field-error{color:#dc2626;letter-spacing:-.005em;margin:-8px 0 12px;font-size:12px}.input-error{background:#fff5f5;border-color:#fecaca!important}.input-error:focus{box-shadow:0 0 0 3px #dc26261f;border-color:#dc2626!important}.auth-splash{color:#00246b73;letter-spacing:-.005em;justify-content:center;align-items:center;min-height:100vh;font-family:Agrandir,sans-serif;font-size:14px;display:flex}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100vh;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8f9fc;font-family:Agrandir,Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button{font-family:inherit}
