.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.auth-bg{position:fixed;inset:0;z-index:-1}.auth-orb{position:absolute;border-radius:50%;filter:blur(120px);opacity:.12}.orb-1{width:500px;height:500px;background:#6366f1;top:-150px;right:-150px}.orb-2{width:400px;height:400px;background:#ec4899;bottom:-100px;left:-100px}.auth-container{width:100%;max-width:520px;padding:1rem}.auth-card{padding:2.5rem;border-radius:20px}.auth-header{text-align:center;margin-bottom:2rem}.auth-logo{font-size:3.5rem;font-weight:900;margin-bottom:.5rem}.auth-header h2{font-size:1.5rem;margin-bottom:.3rem}.auth-header p{color:var(--color-text-secondary);font-size:.9rem}.auth-error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:.75rem;border-radius:10px;text-align:center;font-size:.9rem;margin-bottom:1rem}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group label{font-size:.85rem;font-weight:600;color:var(--color-text-secondary)}.auth-btn{width:100%;padding:.9rem;font-size:1rem;margin-top:.5rem}.auth-footer{text-align:center;margin-top:1.5rem;color:var(--color-text-muted);font-size:.9rem}.auth-footer a{color:var(--color-primary-light);font-weight:600;text-decoration:none}.role-selector{display:flex;flex-direction:column;gap:.75rem}.role-card{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;border-radius:14px;border:1px solid hsla(0,0%,100%,.08);background:hsla(0,0%,100%,.03);cursor:pointer;transition:all .3s;text-align:left;width:100%;color:var(--color-text)}.role-card:hover{border-color:var(--role-color);background:hsla(0,0%,100%,.06);transform:translateX(4px)}.role-card.selected{border-color:var(--role-color);background:rgba(99,102,241,.08)}.role-icon{font-size:2rem}.role-info{flex:1 1;display:flex;flex-direction:column}.role-label{font-weight:700;font-size:1rem}.role-desc{font-size:.8rem;margin-top:.15rem}.role-arrow,.role-desc{color:var(--color-text-muted)}.role-arrow{font-size:1.2rem;transition:all .2s}.role-card:hover .role-arrow{color:var(--role-color);transform:translateX(4px)}.back-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:.85rem;padding:0;margin-bottom:1rem;transition:color .2s}.back-btn:hover{color:var(--color-primary-light)}.selected-role-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:50px;background:rgba(99,102,241,.1);border:1px solid rgba(99,102,241,.25);font-weight:600;font-size:.85rem;margin-bottom:1.5rem;color:var(--role-color,var(--color-primary-light))}.business-notice,.driver-notice{padding:.75rem 1rem;border-radius:10px;font-size:.85rem;color:var(--color-text-secondary);display:flex;align-items:center;gap:.5rem}.demo-access-section{margin-bottom:.25rem}.demo-access-label{text-align:center;font-size:.9rem;font-weight:700;color:var(--color-text-secondary);margin-bottom:.75rem}.demo-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.6rem;gap:.6rem}.demo-card{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.85rem .5rem;border-radius:14px;border:1px solid hsla(0,0%,100%,.08);background:hsla(0,0%,100%,.03);cursor:pointer;transition:all .25s ease;color:var(--color-text);text-align:center}.demo-card:hover:not(:disabled){transform:translateY(-2px);border-color:var(--demo-accent,rgba(99,102,241,.5));background:var(--demo-bg,rgba(99,102,241,.08));box-shadow:0 4px 20px var(--demo-glow,rgba(99,102,241,.12))}.demo-card:active:not(:disabled){transform:translateY(0)}.demo-card:disabled{opacity:.5;cursor:not-allowed}.demo-card-icon{font-size:1.6rem}.demo-card-label{font-weight:700;font-size:.9rem}.demo-card-desc{font-size:.7rem;color:var(--color-text-muted);line-height:1.2}.demo-card-customer{--demo-accent:rgba(34,197,94,.5);--demo-bg:rgba(34,197,94,.08);--demo-glow:rgba(34,197,94,.12)}.demo-card-business_owner{--demo-accent:rgba(249,115,22,.5);--demo-bg:rgba(249,115,22,.08);--demo-glow:rgba(249,115,22,.12)}.demo-card-driver{--demo-accent:rgba(59,130,246,.5);--demo-bg:rgba(59,130,246,.08);--demo-glow:rgba(59,130,246,.12)}.demo-card-admin{--demo-accent:rgba(168,85,247,.5);--demo-bg:rgba(168,85,247,.08);--demo-glow:rgba(168,85,247,.12)}@media (max-width:360px){.demo-grid{grid-template-columns:1fr}}.social-auth-section{margin:.5rem 0 1rem}.social-divider{display:flex;align-items:center;gap:1rem;margin:1.25rem 0;color:var(--color-text-muted);font-size:.82rem}.social-divider:after,.social-divider:before{content:"";flex:1 1;height:1px;background:hsla(0,0%,100%,.08)}.social-divider span{white-space:nowrap}.social-buttons{display:flex;gap:.75rem}.social-btn,.social-buttons.social-compact{justify-content:center}.social-btn{flex:1 1;display:flex;align-items:center;gap:.6rem;padding:.75rem 1rem;border-radius:12px;border:1px solid hsla(0,0%,100%,.1);background:hsla(0,0%,100%,.04);color:var(--color-text);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.social-btn:hover:not(:disabled){background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.2);transform:translateY(-1px)}.social-btn:active:not(:disabled){transform:translateY(0)}.social-btn:disabled{opacity:.5;cursor:not-allowed}.social-btn svg{flex-shrink:0}.social-btn-google:hover:not(:disabled){border-color:rgba(66,133,244,.4);box-shadow:0 2px 12px rgba(66,133,244,.15)}.social-btn-microsoft:hover:not(:disabled){border-color:rgba(0,164,239,.4);box-shadow:0 2px 12px rgba(0,164,239,.15)}.social-btn-facebook:hover:not(:disabled){border-color:rgba(24,119,242,.4);box-shadow:0 2px 12px rgba(24,119,242,.15)}.social-compact .social-btn{flex:0 1;padding:.65rem 1.2rem;border-radius:50%;width:48px;height:48px}.social-compact .social-btn span{display:none}.quick-register-section{margin-bottom:.5rem}.quick-register-label{text-align:center;font-size:.85rem;color:var(--color-text-muted);margin-bottom:.75rem}@media (max-width:480px){.social-btn span{display:none}.social-btn{padding:.75rem;justify-content:center}}