.login-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;overflow-y:auto;-webkit-overflow-scrolling:touch}@media (max-width:768px){.login-modal-overlay{align-items:flex-start;padding:1rem .5rem}}.login-modal{background-color:var(--color-roxo-muito-claro);border-radius:20px;padding:3rem;max-width:450px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:modalSlideIn .3s ease-out;max-height:calc(100vh - 2rem);overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.login-modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:2rem;color:var(--color-roxo);cursor:pointer;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s,transform .2s;z-index:10;padding:0;line-height:1}.login-modal-close:hover{background-color:rgba(83,66,166,.1);transform:scale(1.1)}.login-modal-close:active{transform:scale(.95)}.login-modal{position:relative}.login-modal-header{text-align:center;margin-bottom:2rem}.login-modal-header .logo-image{margin:0 auto 1rem}.login-modal-welcome{font-size:1.5rem;font-weight:600;color:var(--color-roxo);margin:0;font-family:var(--font-title)}.login-modal-form{gap:1.5rem;margin-bottom:2rem;flex-shrink:0}.form-group,.login-modal-form{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{font-size:.9rem;font-weight:500}.form-group input,.form-group label{color:var(--color-roxo);font-family:Inter,sans-serif}.form-group input{padding:.875rem 1rem;border:1px solid var(--color-roxo-claro);border-radius:8px;background-color:var(--color-roxo-muito-claro);font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus{outline:none;border-color:var(--color-roxo);box-shadow:0 0 0 3px rgba(83,66,166,.1)}.form-group input::placeholder{color:var(--color-roxo-medio)}.login-modal-button{background-color:var(--color-highlight-dark);color:var(--color-roxo);border:none;padding:1rem 2rem;font-size:1.1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s;font-family:Inter,sans-serif;margin-top:.5rem}.login-modal-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(83,66,166,.3)}.login-modal-button:active{transform:translateY(0)}.login-modal-google-section{margin-bottom:2rem}.login-modal-footer,.login-modal-google-section{display:flex;flex-direction:column;gap:1rem;align-items:center;flex-shrink:0}.login-modal-footer{margin-top:auto}.login-modal-link{background:none;border:none;color:var(--color-roxo);font-size:.9rem;cursor:pointer;text-decoration:underline;font-family:Inter,sans-serif;padding:.5rem;transition:opacity .2s}.login-modal-link:hover{opacity:.7}.login-modal-divider{display:flex;align-items:center;width:100%;margin:.5rem 0}.login-modal-divider:after,.login-modal-divider:before{content:"";flex:1 1;height:1px;background-color:var(--color-roxo-claro)}.login-modal-divider span{padding:0 1rem;color:var(--color-roxo-medio);font-size:.9rem;font-family:Inter,sans-serif}.login-modal-google{display:flex;align-items:center;justify-content:center;gap:.75rem;background-color:white;border:1px solid var(--color-roxo-claro);color:var(--color-roxo);padding:.875rem 1.5rem;font-size:1rem;font-weight:500;border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s;font-family:Inter,sans-serif;width:100%}.login-modal-google:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(83,66,166,.15)}.login-modal-google:active{transform:translateY(0)}.login-modal-google svg{flex-shrink:0}@media (max-width:768px){.login-modal{padding:2.5rem 1.5rem 1.5rem;margin:0;max-height:calc(100vh - 1rem);border-radius:16px;max-width:calc(100% - 1rem)}.login-modal-close{top:.75rem;right:.75rem;font-size:1.75rem;width:2rem;height:2rem}.login-modal-header{margin-bottom:1.5rem}.login-modal-welcome{font-size:1.25rem;font-family:var(--font-title)}.login-modal-form{gap:1.25rem;margin-bottom:1.5rem}.form-group{gap:.4rem}.form-group input{padding:.75rem .875rem;font-size:.95rem}.login-modal-button{padding:.875rem 1.5rem;font-size:1rem;margin-top:.25rem}.login-modal-google-section{margin-bottom:1.5rem;gap:.875rem}.login-modal-footer{gap:.875rem}.login-modal-google{padding:.75rem 1.25rem;font-size:.95rem}.login-modal-link{font-size:.85rem;padding:.4rem}.login-modal-divider{margin:.4rem 0}.login-modal-divider span{font-size:.85rem;padding:0 .75rem}}@media (max-width:480px){.login-modal{padding:2.25rem 1.25rem 1.25rem;max-height:calc(100vh - .5rem);border-radius:12px}.login-modal-close{top:.5rem;right:.5rem;font-size:1.5rem;width:1.75rem;height:1.75rem}.login-modal-header{margin-bottom:1.25rem}.login-modal-header .logo-image{margin-bottom:.75rem}.login-modal-welcome{font-size:1.1rem}.login-modal-form{gap:1rem;margin-bottom:1.25rem}.form-group label{font-size:.85rem}.form-group input{padding:.7rem .8rem;font-size:.9rem}.login-modal-button{padding:.8rem 1.25rem;font-size:.95rem}.login-modal-google-section{margin-bottom:1.25rem;gap:.75rem}.login-modal-google{padding:.7rem 1rem;font-size:.9rem;gap:.6rem}.login-modal-google svg{width:18px;height:18px}}