.login{display:flex;align-items:center;justify-content:center;padding:var(--space-lg)}.login__container{background:white;padding:var(--space-2xl);border-radius:var(--radius-md);width:var(--width-sm);text-align:center}.login__logo{width:var(--space-5xl)}.login__logo,.login__title{margin-bottom:var(--space-sm)}.login__title{font-size:var(--font-size-2xl);color:var(--text-primary)}.login__message{font-size:var(--font-size-md);color:var(--gray-600);margin-bottom:var(--space-lg)}.login__form{display:flex;flex-direction:column;gap:var(--space-sm)}.login__input{border:var(--border-width-thin) solid var(--gray-300);border-radius:var(--radius-sm)}.login__button,.login__input{padding:var(--space-sm);font-size:var(--font-size-md)}.login__button{width:100%;margin-top:var(--space-xs);background-color:var(--primary-800);color:var(--white);font-weight:var(--font-weight-medium);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .3s ease}.login__button:hover{background-color:var(--text-primary)}.login__text{margin-top:var(--space-sm);font-size:var(--font-size-sm)}.login__link{color:var(--primary-color);text-decoration:none;font-weight:var(--font-weight-bold)}.login__link:hover{text-decoration:underline}.login__separator{display:flex;align-items:center;justify-content:center;margin:var(--space-xl) 0;position:relative}.login__separator:after,.login__separator:before{content:"";flex:1 1;height:var(--border-width-thin);background-color:var(--gray-300)}.login__separator-text{margin:0 var(--space-xs);color:var(--gray-600);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.strava-login{margin-bottom:var(--space-sm)}.strava-login__button{display:flex;align-items:center;justify-content:center;width:100%;background-color:var(--white);color:var(--orange-600);border:none;padding:var(--space-xs) var(--space-md);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);cursor:pointer;transition:background-color .2s ease}.strava-login__button:hover{background-color:var(--orange-800)}.login__social-button .strava-login__button{background-color:white;color:var(--orange-600);border:var(--border-width-thick) solid var(--orange-600)}.login__social-button .strava-login__button:hover{background-color:var(--orange-600);color:white}.login__social-button .strava-login__icon{filter:none;width:var(--space-md);height:var(--space-md);margin-right:var(--space-xs)}.register{display:flex;align-items:center;justify-content:center}.register__container{background:white;padding:var(--space-2xl);border-radius:var(--radius-md);width:var(--width-sm);text-align:center}.register__subtitle{font-size:var(--font-size-sm);color:var(--gray-600);margin-bottom:var(--space-lg)}.register__logo{width:var(--space-5xl);margin-bottom:var(--space-sm)}.register__title{font-size:var(--font-size-2xl);color:var(--text-primary);margin-bottom:var(--space-lg)}.register__form{display:flex;flex-direction:column;gap:var(--space-sm)}.register__input{border:var(--border-width-thin) solid var(--gray-300);border-radius:var(--radius-sm)}.register__button,.register__input{padding:var(--space-sm);font-size:var(--font-size-md)}.register__button{width:100%;margin-top:var(--space-xs);background-color:var(--primary-800);color:white;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .3s ease}.register__button:hover{background-color:var(--text-primary)}.register__error{background-color:var(--error-100);color:var(--error-800)}.register__error,.register__success{padding:var(--space-sm);border-radius:var(--radius-sm);margin-bottom:var(--space-sm);font-size:var(--font-size-sm)}.register__success{background-color:var(--success-100);color:var(--success-800)}.register__text{margin-top:var(--space-xs);font-size:var(--font-size-sm)}.register__link{color:var(--primary-800);text-decoration:none;font-weight:var(--font-weight-bold)}.register__link:hover{text-decoration:underline}.register__divider{width:100%;border:0;height:var(--border-width-thin);background:var(--gray-300);margin:var(--space-lg) 0}@media (max-width:639px){.register__container{width:100%;max-width:var(--width-xs);padding:var(--space-xl)}.register__logo{width:var(--space-4xl)}.register__title{font-size:var(--font-size-xl)}.register__button,.register__input{font-size:var(--font-size-sm)}}