
.perfil-link{
text-decoration:none;
color:inherit;
display:inline;
}


.user-header{
display:flex;
align-items:center;
gap:12px;
margin-bottom:12px;
padding-left:10px;
margin-top:10px;

}

.user-photo{
position:relative;
}

.user-photo img{
width:70px;
height:70px;
border-radius:50%;
object-fit:cover;
border:3px solid #dcdcdc;
}


.upload-icon{
position:absolute;
bottom:5px;
right:5px;
background:#333;
width:30px;
height:30px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:11px;
cursor:pointer;
color:#fff;
}

.user-info{
display:flex;
flex-direction:column;
align-items:flex-start;
}

.user-name{
display:block;
width:100%;
text-align:left;
font-weight:700;
font-size:13px;
margin-left:0;
margin-top:0;
}

.user-name a{
text-decoration:none;
color:inherit;
display:inline;
padding-left:0;
}

.gear-dropdown .user-name a{
display:inline;
padding-left:0;
}

.user-handle{
font-size:13px;
color:#888;
margin-left:0;
margin-top:1px;
}

.user-coins{
display:block;
color:#333;
font-weight:700;
font-size:15px;
margin-left:0;
margin-top:1px;
}


/* BOTÃO LOGIN / ENGRENAGEM */






.user-menu{
    position:fixed;
    top:20px;
    right:16px;
    z-index:1000;
}

/* ÍCONE */



.login-icon:active,
.gear-icon:active{
    transform:scale(0.9);
}

/* DROPDOWN */

.gear-dropdown{
    position:absolute;
    top:55px;
    right:0;
	width:320px;
    background:#fff;
    border-radius:12px;

    box-shadow:0 10px 25px rgba(0,0,0,0.15);

    padding:8px 0;
    display:none;

    min-width:170px;
}

.gear-dropdown a{
    display:flex;
    padding:10px 15px;

    text-decoration:none;
    color:#333;

    font-size:14px;

    transition:.15s;
}

.gear-dropdown a:hover{
    background:#f3f3f3;
}

/* LOGIN POPUP */

/* MODAL OVERLAY */
/* OVERLAY */
.login-overlay{
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    backdrop-filter: blur(6px);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: .25s;
    z-index: 9999;
}
.login-overlay.show{
    opacity: 1;
    pointer-events: all;
}

/* MODAL BOX */
.login-modal{
    width: 360px;
    max-width: 92%;
    background: white;
    border-radius: 20px;
    padding: 25px;
    box-shadow: 0 15px 45px rgba(0,0,0,0.25);
    font-family:'Montserrat', sans-serif;
}
.register-modal{width:400px;max-height:calc(100vh - 2px);overflow:hidden;padding:14px 18px;border-radius:14px}
.register-modal .login-header{margin-bottom:8px}

/* HEADER */
.login-header{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    font-weight: 700;
    font-size: 18px;
}
.login-header button{
    background:none;
    border:none;
    font-size: 20px;
    cursor:pointer;
}

/* FORM */
.login-box .input{
    width:100%;
    padding:12px;
    border-radius:10px;
    border:1px solid #ddd;
    margin-bottom:14px;
    font-size:14px;
}
.login-box form .btn{
    display:flex;
    width:100%;
    box-sizing:border-box;
    padding:10px 14px;
    margin-top:4px;
    border:1px solid #ff7e5f;
    border-radius:9px;
    background:linear-gradient(90deg,#ff5f6d,#ff9f1c);
    color:#ffffff;
    font-size:14px;
    font-weight:700;
    text-align:center;
    cursor:pointer;
    align-items:center;
    justify-content:center;
    gap:8px;
}
.login-box form .btn:hover{background:linear-gradient(90deg,#ff4757,#ff8c00);color:#ffffff}

.row{
    display:flex;
    justify-content:space-between;
    font-size:13px;
    margin-bottom:15px;
}
.row a{
    color:#ff7e5f;
    text-decoration:none;
}

.power-register-btn {
    width: 100%;
    padding: 12px 14px;
    border: none;
    border-radius: 12px;
    background: linear-gradient(90deg, #ff7e5f, #f7b347);
    color: white;
    font-weight: 700;
    font-size: 16px;
    cursor: pointer;
    box-shadow: 0 6px 16px rgba(255, 126, 95, 0.3);
    transition: transform .15s ease, opacity .2s ease, box-shadow .2s ease;
    display: block;
    margin-top: 4px;
}

.power-register-btn:hover {
    opacity: 0.9;
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(255, 126, 95, 0.35);
}

.bottom{
    text-align:center;
    margin-top:15px;
    font-size:14px;
}
.bottom a{
    color:#ff7e5f;
    font-weight:600;
    text-decoration:none;
}

/* ERROR */
#loginError{
    color:red;
    margin-bottom:10px;
    font-weight:600;
}






















#registerForm{
margin-top:15px;
}

#registerForm .step{
display:flex;
flex-direction:column;
}

/* CAMPOS */

#registerForm input{
width:100%;
padding:12px 14px;
border-radius:10px;
border:1px solid #ddd;
font-size:14px;
font-family:'Montserrat', sans-serif;
background:#f7f7f7;
transition:.2s;
margin-bottom:12px;
box-sizing:border-box;
}

#registerForm input:last-child{
margin-bottom:0;
}
















.register-form{
margin-top:10px;
}


.step{
display:flex;
flex-direction:column;
gap:10px;
}

.step-buttons{
display:flex;
justify-content:center;
gap:12px;
margin-top:15px;
}


.step-buttons button{
padding:12px 20px;
border:none;
border-radius:12px;
background:linear-gradient(90deg,#ff7e5f,#f7b347);
color:white;
font-weight:700;
font-size:14px;
cursor:pointer;
min-width:120px;
transition:.2s;
}

.step-buttons button:hover{
transform:scale(1.03);
}

.step-buttons button:active{
transform:scale(.96);
}

.step-buttons button:first-child{
background:#ddd;
color:#333;
}


.step-indicator{
display:flex;
align-items:center;
justify-content:center;
margin-bottom:20px;
gap:8px;
}

.step-indicator.active{
background:#2ecc71;
color:#fff;
}

.step-circle{
width:28px;
height:28px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:13px;
font-weight:700;
background:#ddd;
color:#666;
}

.step-circle.active{
background:linear-gradient(90deg,#ff7e5f,#f7b347);
color:#fff;
}

.step-line{
width:30px;
height:2px;
background:#ddd;
}













.register-form .input:focus{
outline:none;
border-color:#ff7e5f;
background:white;
box-shadow:0 0 0 2px rgba(255,126,95,0.15);
}



	







.input-erro{
border:2px solid red;
background:#fff5f5;
}





.input-wrapper{
position:relative;
}

.input-wrapper input{
padding-right:35px;
}

.input-icon{
position:absolute;
right:10px;
top:50%;
transform:translateY(-50%);
font-size:16px;
display:none;
}

.input-error{
border-color:#ff4d4d !important;
background:#fff0f0 !important;
}

.input-ok{
border-color:#2ecc71 !important;
background:#f0fff5 !important;
}

.icon-error{
color:#ff4d4d;
}

.icon-ok{
color:#2ecc71;
}











.steps{
display:flex;
align-items:center;
justify-content:center;
margin-bottom:25px;
}

.step-indicator{
width:28px;
height:28px;
border-radius:50%;
background:#ddd;
display:flex;
align-items:center;
justify-content:center;
font-size:13px;
font-weight:bold;
position:relative;
margin:0 25px;
}

/* linha entre bolinhas */

.step-indicator:not(:last-child)::after{
content:"";
position:absolute;
top:50%;
left:28px;
width:50px;
height:3px;
background:#ddd;
transform:translateY(-50%);
}

/* etapa atual (mesma cor do botão) */

.step-indicator.active{
background:linear-gradient(90deg,#ffb347,#ff7a00);
color:#fff;
}

/* etapas concluídas */

.step-indicator.done{
background:#007bff;
color:#fff;
}

/* linha concluída */

.step-indicator.done::after{
background:#007bff;
}















.cadastroMensagem{
color: red;
font-size: 13px;
margin-top: -15px;   /* sobe o texto */
margin-bottom: 10px;
text-align: left;
}
.register-title-wrap{display:flex;align-items:center;gap:10px}
.register-title-wrap h2{margin:0;color:#252936;font-size:20px}
.register-title-wrap p{margin:2px 0 0;color:#7c86a3;font-size:10px;font-weight:400}
.register-title-icon{width:36px;height:36px;border-radius:50%;background:#fff0e9;color:#273044;display:flex;align-items:center;justify-content:center;font-size:15px}
.register-fields{display:flex;flex-direction:column;gap:6px}
.register-fields label{color:#545b70;font-size:14px;font-weight:500;margin-top:4px}
.register-label-row{display:flex;align-items:center;justify-content:space-between;min-height:0}
.register-label-row label{margin:4px 0 0}
.register-label-row .cadastroMensagem{font-size:12px;margin:0;text-align:right}
.register-label-row .cadastroMensagem i{margin-right:4px}
.register-label-row .cadastroMensagem[style*="red"]{color:#ef3340!important}
.register-label-row .cadastroMensagem[style*="green"]{color:#18a85b!important}
.register-fields .input{width:100%;height:31px!important;box-sizing:border-box;padding:6px 12px;border:1px solid #dfe2e9;border-radius:7px;font-size:12px}
.register-input-icon{position:relative;height:31px;margin-bottom:4px}
.register-input-icon i{position:absolute;z-index:1;left:12px;top:50%;transform:translateY(-50%);color:#9541f5;font-size:14px}
.register-input-icon .input{padding-left:36px!important;padding-right:12px!important}
.register-input-icon .input.campo-valido{border:1px solid #19ad61!important;box-shadow:0 0 0 1px rgba(25,173,97,.12)}
.register-input-icon .input.campo-invalido,.register-fields .input.input-erro{border:1px solid #ff3b45!important;box-shadow:0 0 0 1px rgba(255,59,69,.1)}
.password-strength{height:3px;background:#eceef2;border-radius:5px;overflow:hidden}
.password-strength span{display:block;width:0;height:100%;background:#ff8b13;transition:width .2s ease}
.password-rules{display:grid;grid-template-columns:1fr 1fr;gap:3px 8px;padding:6px 8px;margin:0 0 2px;background:#f8f8fa;border:1px solid #e5e6ea;border-radius:7px;color:#606679;font-size:13px}
.password-rules strong{grid-column:1/-1;color:#606679}
.password-rules .password-rule{color:#d33}
.password-rules .password-rule.valid{color:#16a85b}
.register-bottom{margin-top:5px;margin-bottom:0;font-size:12px}