/* Compartilhado: Login, Cadastro e Solicitar PIN. Sem cores fixas. */
.auth-back{
    display:inline-block;
    margin:3px 0 23px;
    font-size:12px;
    color:var(--muted)
}
.auth-back:hover{
    color:var(--lime)
}
.auth-card{
    padding:25px 23px;
    background:linear-gradient(135deg,var(--surface,var(--paper)),var(--soft,var(--paper)));
    border:1px solid var(--line);
    border-radius:var(--radius,22px);
    box-shadow:0 12px 32px var(--shadow,transparent);
    position:relative;
    overflow:hidden
}
.auth-card::before{
    content:"";
    position:absolute;
    top:0;
    left:22px;
    right:22px;
    height:1px;
    background:linear-gradient(90deg,transparent,var(--lime),transparent);
    opacity:.65
}
.auth-card__top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-bottom:22px
}
.auth-emblem{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border:1px solid var(--line);
    background:var(--paper);
    color:var(--lime);
    border-radius:16px;
    box-shadow:0 0 20px var(--glow-soft,transparent)
}
.auth-emblem svg{
    width:23px;
    height:23px
}
.auth-pill{
    font-size:8px;
    letter-spacing:1.4px;
    color:var(--muted);
    padding:7px 10px;
    border:1px solid var(--line);
    border-radius:30px
}
.auth-card h2{
    font-size:23px;
    letter-spacing:-.8px;
    line-height:1.3;
    margin-bottom:9px
}
.auth-lead{
    font-size:12px;
    color:var(--muted);
    line-height:1.7
}
.auth-form{
    margin-top:24px;
    display:grid;
    gap:17px
}
.auth-field{
    display:grid;
    gap:8px;
    min-width:0
}
.auth-field label{
    font-size:12px;
    font-weight:600;
    color:var(--ink)
}
.auth-field input{
    width:100%;
    min-width:0;
    padding:14px 15px;
    font:inherit;
    font-size:14px;
    border:1px solid var(--line);
    border-radius:12px;
    background:var(--paper);
    color:var(--ink);
    outline:none;
    transition:border-color .2s,box-shadow .2s
}
.auth-field input::placeholder{
    color:var(--muted);
    opacity:.75
}
.auth-field input:focus{
    border-color:var(--lime);
    box-shadow:0 0 0 3px var(--glow-soft,transparent)
}
.auth-field #pin{
    font-size:24px;
    letter-spacing:.4em;
    font-weight:700;
    padding-right:0;
    text-align:center
}
.auth-optional{
    margin-left:5px;
    font-size:10px;
    color:var(--muted);
    font-weight:400
}
.auth-help{
    font-size:10px;
    line-height:1.6;
    color:var(--muted);
    margin:0
}
.auth-form > .auth-help{
    margin-top:-9px
}
.auth-input-prefix{
    position:relative
}
.auth-input-prefix > span{
    position:absolute;
    top:50%;
    left:14px;
    transform:translateY(-50%);
    color:var(--muted);
    font-size:15px
}
.auth-input-prefix input{
    padding-left:34px
}
.auth-submit{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:15px 17px;
    background:var(--accent);
    color:var(--paper);
    font-weight:800;
    font-size:13px;
    border:1px solid var(--lime);
    border-radius:12px;
    box-shadow:0 0 18px var(--glow-soft,transparent)
}
.auth-submit:disabled{
    opacity:.65;
    cursor:default
}
.auth-submit span{
    font-size:19px
}
.auth-link{
    display:block;
    text-align:center;
    font-size:11px;
    font-weight:600;
    color:var(--lime);
    line-height:1.7;
    margin-top:22px
}
.auth-footer{
    padding:23px 12px;
    text-align:center;
    font-size:12px;
    color:var(--muted);
    line-height:1.8
}
.auth-footer a{
    font-weight:700;
    color:var(--lime);
    white-space:nowrap;
    margin-left:3px
}
.auth-tip{
    padding:14px;
    margin-top:21px;
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:12px
}
.auth-tip strong{
    font-size:11px;
    color:var(--ink)
}
.auth-tip p{
    font-size:11px;
    color:var(--muted);
    margin-top:5px
}
.auth-note{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    padding:10px 0 15px;
    color:var(--muted)
}
.auth-note > span{
    color:var(--lime);
    font-size:24px
}
.auth-note p{
    font-size:10px;
    line-height:1.7
}
.auth-profile-actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:15px;
    margin-top:20px
}
@media(prefers-reduced-motion:reduce){
    .auth-field input{
        transition:none
    }
}
