/* FLUXUS LOGIN — MOCKUP APROVADO — ESTRUTURA REAL */

#login.login{
    position:fixed;
    inset:0;
    z-index:99999;
    display:block;
    width:100%;
    height:100vh;
    min-height:100vh;
    overflow:hidden;
    background:#fbfaf6;
    font-family:"Segoe UI",Arial,sans-serif;
}

#login.login.hidden{
    display:none!important;
}

#login *,
#login *::before,
#login *::after{
    box-sizing:border-box;
}

.fx-login-screen{
    position:absolute;
    inset:0;
    display:grid;
    grid-template-columns:47.07% 52.93%;
    width:100%;
    height:100%;
}


/* =========================================================
   PAINEL ESQUERDO
   ========================================================= */

.fx-left{
    position:relative;
    width:100%;
    height:100%;
    overflow:hidden;
    color:#fff;
    background:
        radial-gradient(circle at 49% 45%,rgba(0,129,119,.24),transparent 42%),
        linear-gradient(145deg,#00645f 0%,#005b57 58%,#00534f 100%);
}

.fx-left-copy{
    position:absolute;
    z-index:5;
    top:13.65%;
    left:10.9%;
}

.fx-logo{
    margin:0;
    color:#fff;
    font-size:clamp(44px,3.43vw,61px);
    line-height:.95;
    font-weight:700;
    letter-spacing:-.055em;
}

.fx-accent{
    display:block;
    width:70px;
    height:6px;
    border-radius:999px;
    background:#9ce9dc;
}

.fx-accent-top{
    margin-top:31px;
}

.fx-left-copy h2{
    margin:35px 0 0;
    color:#fff;
    font-size:clamp(23px,1.69vw,30px);
    line-height:1.25;
    font-weight:700;
    letter-spacing:-.025em;
}

.fx-left-copy p{
    margin:24px 0 0;
    color:rgba(244,255,252,.79);
    font-size:clamp(16px,1.13vw,20px);
    line-height:1.48;
    font-weight:400;
}

.fx-network{
    position:absolute;
    z-index:1;
    inset:0;
    width:100%;
    height:100%;
    pointer-events:none;
}


/* benefícios */

.fx-benefits{
    position:absolute;
    z-index:6;
    left:10.8%;
    bottom:13.2%;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    width:51.5%;
    column-gap:18px;
}

.fx-benefit{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    color:#f4fffc;
    text-align:center;
}

.fx-benefit svg{
    width:35px;
    height:35px;
    margin-bottom:12px;
}

.fx-benefit span{
    color:rgba(248,255,253,.94);
    font-size:11px;
    line-height:1.25;
    font-weight:500;
    white-space:nowrap;
}

.fx-left-footer{
    position:absolute;
    z-index:6;
    left:10.9%;
    bottom:5.1%;
    color:#c7eee7;
}

.fx-left-footer .fx-accent{
    width:52px;
    height:5px;
    margin-bottom:29px;
}

.fx-left-footer span{
    font-size:10px;
    line-height:1;
    font-weight:650;
    letter-spacing:.27em;
    white-space:nowrap;
}


/* =========================================================
   PAINEL DIREITO
   ========================================================= */

.fx-right{
    position:relative;
    width:100%;
    height:100%;
    overflow:hidden;
    background:
        radial-gradient(circle at 45% 48%,#fff 0%,#fbfaf6 64%,#faf9f5 100%);
}

.fx-env{
    position:absolute;
    top:5.35%;
    right:7.1%;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    color:#075d59;
    text-align:right;
}

.fx-env strong{
    font-size:11px;
    line-height:1;
    font-weight:750;
    letter-spacing:.30em;
}

.fx-env span{
    margin-top:17px;
    font-size:9px;
    line-height:1;
    font-weight:750;
    letter-spacing:.30em;
}

.fx-env i{
    display:block;
    width:41px;
    height:4px;
    margin-top:30px;
    background:#32968d;
}


/* =========================================================
   CONTEÚDO / FORMULÁRIO
   ========================================================= */

.fx-login-main{
    position:absolute;
    top:15.1%;
    left:19.25%;
    width:66.2%;
}

.fx-login-heading h1{
    margin:0;
    color:#075a57;
    font-size:clamp(37px,2.65vw,47px);
    line-height:1.07;
    font-weight:700;
    letter-spacing:-.052em;
}

.fx-login-heading p{
    margin:16px 0 0;
    color:#657f7c;
    font-size:clamp(16px,1.12vw,20px);
    line-height:1.48;
    font-weight:400;
}

#login .login-card{
    width:100%;
    margin:31px 0 0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    text-align:left;
}

#login .fx-label{
    display:block;
    margin:0 0 20px;
    color:#075a57;
    font-size:14px;
    line-height:1.15;
    font-weight:700;
    letter-spacing:0;
    text-align:left;
}

.fx-label-text{
    display:block;
}

.fx-control{
    position:relative;
    display:block;
    width:100%;
    margin-top:10px;
    color:#08736d;
}

#login .fx-control input,
#login .fx-control select{
    display:block;
    width:100%;
    height:58px;
    margin:0;
    padding:0 60px 0 72px;
    border:1px solid #cbd9d7;
    border-radius:5px;
    outline:0;
    background:rgba(255,255,255,.76);
    color:#294e4b;
    font-family:"Segoe UI",Arial,sans-serif;
    font-size:16px;
    font-weight:400;
    box-shadow:0 1px 2px rgba(0,70,66,.018);
    transition:border-color .15s,box-shadow .15s,background .15s;
}

#login .fx-control input::placeholder{
    color:#819693;
    opacity:1;
}

#login .fx-control input:hover,
#login .fx-control select:hover{
    border-color:#adc4c0;
}

#login .fx-control input:focus,
#login .fx-control select:focus{
    border-color:#19877f;
    background:#fff;
    box-shadow:0 0 0 3px rgba(25,135,127,.10);
}

.fx-control-icon{
    position:absolute;
    z-index:2;
    top:50%;
    left:22px;
    width:27px;
    height:27px;
    transform:translateY(-50%);
    pointer-events:none;
}

.fx-eye{
    position:absolute;
    z-index:2;
    top:50%;
    right:21px;
    width:25px;
    height:25px;
    transform:translateY(-50%);
    pointer-events:none;
}

#login .fx-control select{
    cursor:pointer;
}


/* erro */

#login-error{
    width:100%;
    margin:-5px 0 15px;
    padding:10px 12px;
    border:1px solid #e5bfbc;
    border-radius:5px;
    background:#fff4f2;
    color:#923f39;
    font-size:12px;
    line-height:1.4;
    text-align:left;
}

#login-error[hidden]{
    display:none!important;
}


/* botão */

#loginBtn{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:27px;
    width:100%;
    height:64px;
    margin:2px 0 0;
    padding:0;
    border:0;
    border-radius:5px;
    background:linear-gradient(90deg,#006d68 0%,#00867f 100%);
    color:#fff;
    font-family:"Segoe UI",Arial,sans-serif;
    font-size:16px;
    line-height:1;
    font-weight:750;
    letter-spacing:.08em;
    cursor:pointer;
    box-shadow:0 8px 20px rgba(0,100,94,.11);
    transition:filter .15s,transform .15s,box-shadow .15s;
}

#loginBtn svg{
    width:25px;
    height:25px;
    flex:0 0 25px;
}

#loginBtn:hover:not(:disabled){
    filter:brightness(1.035);
    transform:translateY(-1px);
    box-shadow:0 11px 24px rgba(0,100,94,.16);
}

#loginBtn:active:not(:disabled){
    transform:none;
}

#loginBtn:disabled{
    opacity:.55;
    cursor:not-allowed;
}


/* status */

.fx-login-status{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:25px;
    width:100%;
    margin-top:27px;
    padding-top:22px;
    border-top:1px solid #d3dfdc;
    color:#2b6c68;
    font-size:12px;
    line-height:1;
    white-space:nowrap;
}

.fx-login-status span{
    display:flex;
    align-items:center;
    gap:10px;
}

.fx-login-status svg{
    width:23px;
    height:23px;
}

.fx-status-divider{
    display:block;
    width:1px;
    height:38px;
    background:#cad9d6;
}

.fx-status-dot{
    display:block;
    width:14px;
    height:14px;
    border:3px solid #d8f1dd;
    border-radius:50%;
    background:#2ab441;
}


/* assinatura inferior */

.fx-right-footer{
    position:absolute;
    right:7.1%;
    bottom:5.0%;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    color:#146d68;
    text-align:right;
}

.fx-right-footer i{
    display:block;
    width:41px;
    height:4px;
    margin-bottom:27px;
    background:#32968d;
}

.fx-right-footer span{
    font-size:9px;
    line-height:1.55;
    font-weight:750;
    letter-spacing:.22em;
}


/* =========================================================
   VIEWPORT BAIXA — notebook
   ========================================================= */

@media(max-height:700px) and (min-width:761px){

    .fx-left-copy{
        top:12.5%;
    }

    .fx-logo{
        font-size:46px;
    }

    .fx-accent-top{
        margin-top:23px;
    }

    .fx-left-copy h2{
        margin-top:26px;
        font-size:23px;
    }

    .fx-left-copy p{
        margin-top:17px;
        font-size:16px;
    }

    .fx-login-main{
        top:14.5%;
    }

    .fx-login-heading h1{
        font-size:36px;
    }

    .fx-login-heading p{
        margin-top:11px;
        font-size:14px;
    }

    #login .login-card{
        margin-top:19px;
    }

    #login .fx-label{
        margin-bottom:12px;
        font-size:12px;
    }

    .fx-control{
        margin-top:7px;
    }

    #login .fx-control input,
    #login .fx-control select{
        height:47px;
        padding-left:62px;
        font-size:14px;
    }

    .fx-control-icon{
        left:19px;
        width:23px;
        height:23px;
    }

    .fx-eye{
        width:22px;
        height:22px;
    }

    #loginBtn{
        height:50px;
        font-size:14px;
    }

    .fx-login-status{
        margin-top:15px;
        padding-top:15px;
        font-size:11px;
    }

    .fx-status-divider{
        height:28px;
    }

    .fx-benefits{
        bottom:14%;
    }

    .fx-left-footer{
        bottom:4.3%;
    }

    .fx-left-footer .fx-accent{
        margin-bottom:20px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:760px){

    #login.login{
        overflow:auto;
    }

    .fx-login-screen{
        display:block;
        min-height:100%;
    }

    .fx-left{
        height:205px;
    }

    .fx-left-copy{
        top:38px;
        left:29px;
    }

    .fx-logo{
        font-size:42px;
    }

    .fx-accent-top{
        width:50px;
        height:4px;
        margin-top:18px;
    }

    .fx-left-copy h2{
        margin-top:19px;
        font-size:18px;
    }

    .fx-left-copy p,
    .fx-network,
    .fx-benefits,
    .fx-left-footer{
        display:none;
    }

    .fx-right{
        min-height:650px;
        height:auto;
        overflow:visible;
    }

    .fx-env,
    .fx-right-footer{
        display:none;
    }

    .fx-login-main{
        position:relative;
        top:auto;
        left:auto;
        width:auto;
        padding:40px 25px 70px;
    }

    .fx-login-heading h1{
        font-size:34px;
    }

    .fx-login-heading p{
        font-size:15px;
    }

    #login .login-card{
        margin-top:29px;
    }

    #login .fx-control input,
    #login .fx-control select{
        height:54px;
    }

    #loginBtn{
        height:56px;
    }
}


/* ==========================================================
   FLUXUS — REFINO VISUAL MOCKUP
   22/09/2026
   SOMENTE CSS
   ========================================================== */


/* ----------------------------------------------------------
   LIMPEZA DE INTERFERÊNCIAS DO CSS ANTIGO
   ---------------------------------------------------------- */

#login .fx-login-screen,
#login .fx-left,
#login .fx-right,
#login .fx-login-main,
#login .fx-login-heading,
#login .fx-login-heading h1,
#login .fx-login-heading p,
#login .login-card,
#login .fx-login-status{
    max-width:none;
    max-height:none;
}

#login .fx-right,
#login .fx-login-main,
#login .login-card{
    overflow:visible !important;
}

#login .fx-login-heading{
    display:block !important;
    width:100% !important;
}

#login .fx-login-heading h1,
#login .fx-login-heading p{
    display:block !important;
    position:static !important;
    float:none !important;
    width:100% !important;
    max-width:none !important;
    transform:none !important;
    text-align:left !important;
}


/* ----------------------------------------------------------
   DIVISÃO DA TELA
   ---------------------------------------------------------- */

#login .fx-login-screen{
    grid-template-columns:47.07% 52.93%;
}

#login .fx-left{
    background:
        radial-gradient(
            circle at 55% 45%,
            rgba(0,126,117,.20),
            transparent 43%
        ),
        linear-gradient(
            145deg,
            #00645f 0%,
            #005d58 50%,
            #005651 100%
        );
}


/* ----------------------------------------------------------
   LOGO / TEXTO ESQUERDO
   ---------------------------------------------------------- */

#login .fx-left-copy{
    top:13.7%;
    left:10.9%;
}

#login .fx-logo{
    font-size:clamp(44px,3.42vw,61px);
    line-height:.95;
    font-weight:700;
    letter-spacing:-.055em;
}

#login .fx-accent-top{
    width:70px;
    height:6px;
    margin-top:31px;
}

#login .fx-left-copy h2{
    margin-top:34px;
    font-size:clamp(23px,1.69vw,30px);
    line-height:1.27;
    letter-spacing:-.025em;
}

#login .fx-left-copy p{
    margin-top:22px;
    font-size:clamp(16px,1.13vw,20px);
    line-height:1.5;
}


/* ----------------------------------------------------------
   CIRCUITO — MAIS PRESENTE COMO NO MOCKUP
   ---------------------------------------------------------- */

#login .fx-network{
    left:0;
    top:-1%;
    width:100%;
    height:104%;
    opacity:.92;
}


/* ----------------------------------------------------------
   ÍCONES INFERIORES ESQUERDOS
   ---------------------------------------------------------- */

#login .fx-benefits{
    left:10.8%;
    bottom:12.7%;
    width:51.5%;
    column-gap:28px;
}

#login .fx-benefit svg{
    width:38px;
    height:38px;
    margin-bottom:13px;
}

#login .fx-benefit span{
    font-size:11px;
    line-height:1.2;
    font-weight:500;
}

#login .fx-left-footer{
    left:10.9%;
    bottom:4.8%;
}

#login .fx-left-footer .fx-accent{
    width:52px;
    height:5px;
    margin-bottom:29px;
}

#login .fx-left-footer span{
    font-size:10px;
    letter-spacing:.27em;
}


/* ----------------------------------------------------------
   IDENTIFICAÇÃO SUPERIOR DIREITA
   ---------------------------------------------------------- */

#login .fx-env{
    top:5.3%;
    right:5.0%;
}

#login .fx-env strong{
    font-size:11px;
    letter-spacing:.31em;
}

#login .fx-env span{
    margin-top:17px;
    font-size:9px;
    letter-spacing:.31em;
}

#login .fx-env i{
    width:41px;
    height:4px;
    margin-top:30px;
}


/* ----------------------------------------------------------
   BLOCO PRINCIPAL DIREITO
   ---------------------------------------------------------- */

#login .fx-login-main{
    top:14.7% !important;
    left:19.25% !important;

    width:66.2% !important;
    height:auto !important;

    margin:0 !important;
    padding:0 !important;

    overflow:visible !important;
}


/* título SEM QUEBRA */

#login .fx-login-heading h1{
    margin:0 !important;

    color:#075a57 !important;

    font-size:clamp(36px,2.65vw,47px) !important;
    line-height:1.05 !important;

    font-weight:700 !important;

    letter-spacing:-.052em !important;

    white-space:nowrap !important;
}


/* subtítulo obrigatoriamente abaixo */

#login .fx-login-heading p{
    margin:17px 0 0 !important;

    color:#657f7c !important;

    font-size:clamp(15px,1.12vw,20px) !important;
    line-height:1.47 !important;

    font-weight:400 !important;

    white-space:normal !important;
}


/* ----------------------------------------------------------
   FORMULÁRIO
   ---------------------------------------------------------- */

#login .fx-login-main .login-card{
    display:block !important;

    position:static !important;

    width:100% !important;
    height:auto !important;

    margin:30px 0 0 !important;
    padding:0 !important;

    border:0 !important;
    border-radius:0 !important;

    background:transparent !important;

    box-shadow:none !important;

    overflow:visible !important;
}


#login .fx-login-main .fx-label{
    display:block !important;

    width:100% !important;

    margin:0 0 20px !important;
    padding:0 !important;

    color:#075a57 !important;

    font-size:14px !important;
    line-height:1.15 !important;

    font-weight:700 !important;

    text-align:left !important;
}


#login .fx-label-text{
    display:block !important;

    margin:0 !important;
    padding:0 !important;
}


#login .fx-control{
    display:block !important;

    position:relative !important;

    width:100% !important;

    margin:10px 0 0 !important;
    padding:0 !important;
}


#login .fx-control input,
#login .fx-control select{
    display:block !important;

    width:100% !important;
    height:58px !important;

    margin:0 !important;

    padding:
        0
        58px
        0
        72px !important;

    border:
        1px solid
        #cbd9d7 !important;

    border-radius:5px !important;

    background:
        rgba(255,255,255,.80) !important;

    color:#294e4b !important;

    font-size:16px !important;
    line-height:58px !important;

    box-shadow:none !important;
}


#login .fx-control input::placeholder{
    color:#819693 !important;
    opacity:1 !important;
}


#login .fx-control-icon{
    left:22px !important;

    width:27px !important;
    height:27px !important;
}


#login .fx-eye{
    right:21px !important;

    width:25px !important;
    height:25px !important;
}


/* ----------------------------------------------------------
   BOTÃO
   ---------------------------------------------------------- */

#login #loginBtn{
    display:flex !important;

    width:100% !important;
    height:64px !important;

    margin:2px 0 0 !important;
    padding:0 !important;

    align-items:center !important;
    justify-content:center !important;

    gap:27px !important;

    border:0 !important;
    border-radius:5px !important;

    background:
        linear-gradient(
            90deg,
            #006d68 0%,
            #00867f 100%
        ) !important;

    color:#fff !important;

    font-size:16px !important;
    font-weight:750 !important;

    letter-spacing:.08em !important;

    box-shadow:
        0 8px 20px
        rgba(0,100,94,.10) !important;
}


#login #loginBtn svg{
    width:25px !important;
    height:25px !important;
}


/* ----------------------------------------------------------
   DIVISOR + SEGURANÇA
   ---------------------------------------------------------- */

#login .fx-login-status{
    display:flex !important;

    position:static !important;

    width:100% !important;
    height:auto !important;

    margin:26px 0 0 !important;
    padding:22px 0 0 !important;

    align-items:center !important;
    justify-content:center !important;

    gap:24px !important;

    border-top:
        1px solid
        #d3dfdc !important;

    overflow:visible !important;

    color:#2b6c68 !important;

    font-size:12px !important;
    line-height:1 !important;

    white-space:nowrap !important;
}


#login .fx-login-status span{
    display:flex !important;

    align-items:center !important;

    gap:10px !important;
}


#login .fx-login-status svg{
    width:23px !important;
    height:23px !important;
}


#login .fx-status-divider{
    width:1px !important;
    height:38px !important;

    background:#cad9d6 !important;
}


#login .fx-status-dot{
    width:14px !important;
    height:14px !important;
}


/* ----------------------------------------------------------
   RODAPÉ DIREITO
   ---------------------------------------------------------- */

#login .fx-right-footer{
    right:5.0%;
    bottom:4.9%;
}

#login .fx-right-footer i{
    width:41px;
    height:4px;
    margin-bottom:27px;
}

#login .fx-right-footer span{
    font-size:9px;
    line-height:1.55;
    letter-spacing:.22em;
}


/* ==========================================================
   AJUSTE PROPORCIONAL PARA O TAMANHO DO PRINT ATUAL
   IMPORTANTE:
   não comprime horizontalmente o cabeçalho.
   ========================================================== */

@media (min-width:761px) and (max-height:700px){

    #login .fx-left-copy{
        top:13.4%;
    }

    #login .fx-logo{
        font-size:clamp(42px,3.42vw,47px);
    }

    #login .fx-accent-top{
        margin-top:25px;
    }

    #login .fx-left-copy h2{
        margin-top:28px;
        font-size:clamp(21px,1.69vw,24px);
    }

    #login .fx-left-copy p{
        margin-top:18px;
        font-size:clamp(15px,1.13vw,17px);
    }


    #login .fx-login-main{
        top:14.5% !important;
    }

    #login .fx-login-heading h1{
        font-size:clamp(34px,2.65vw,38px) !important;
    }

    #login .fx-login-heading p{
        margin-top:12px !important;
        font-size:14px !important;
        line-height:1.45 !important;
    }

    #login .fx-login-main .login-card{
        margin-top:19px !important;
    }

    #login .fx-login-main .fx-label{
        margin-bottom:12px !important;
        font-size:12px !important;
    }

    #login .fx-control{
        margin-top:7px !important;
    }

    #login .fx-control input,
    #login .fx-control select{
        height:47px !important;
        line-height:47px !important;

        padding-left:62px !important;

        font-size:14px !important;
    }

    #login .fx-control-icon{
        left:20px !important;
        width:23px !important;
        height:23px !important;
    }

    #login .fx-eye{
        width:22px !important;
        height:22px !important;
    }

    #login #loginBtn{
        height:50px !important;
        font-size:14px !important;
    }

    #login .fx-login-status{
        margin-top:15px !important;
        padding-top:14px !important;
        font-size:11px !important;
    }

    #login .fx-status-divider{
        height:27px !important;
    }

    #login .fx-benefits{
        bottom:13.5%;
    }

    #login .fx-benefit svg{
        width:32px;
        height:32px;
        margin-bottom:9px;
    }

    #login .fx-benefit span{
        font-size:10px;
    }

    #login .fx-left-footer{
        bottom:4.5%;
    }

    #login .fx-left-footer .fx-accent{
        margin-bottom:20px;
    }
}


/* impede qualquer scrollbar criada por estilos anteriores */

#login,
#login .fx-login-screen,
#login .fx-left,
#login .fx-right{
    scrollbar-width:none;
}

#login::-webkit-scrollbar,
#login .fx-login-screen::-webkit-scrollbar,
#login .fx-left::-webkit-scrollbar,
#login .fx-right::-webkit-scrollbar{
    display:none;
}


/* ==========================================================
   REFINO — CABEÇALHO DIREITO DO LOGIN
   referência: mockup aprovado
   ========================================================== */


/*
   O bloco inteiro começa na posição do mockup.
   Não usamos layout herdado do .login-card.
*/

#login .fx-login-main{
    top:14.9% !important;
    left:19.25% !important;

    width:66.2% !important;

    display:block !important;

    overflow:visible !important;
}


/* ----------------------------------------------------------
   CABEÇALHO
   ---------------------------------------------------------- */

#login .fx-login-heading{
    display:block !important;

    position:relative !important;

    width:100% !important;
    height:auto !important;

    margin:0 !important;
    padding:0 !important;

    border:0 !important;

    overflow:visible !important;
}


#login .fx-login-heading h1{
    display:block !important;

    position:relative !important;

    width:100% !important;
    height:auto !important;

    margin:0 !important;
    padding:0 !important;

    border:0 !important;

    color:#075a57 !important;

    font-size:clamp(36px,2.65vw,47px) !important;
    line-height:1.08 !important;

    font-weight:700 !important;

    letter-spacing:-.052em !important;

    white-space:nowrap !important;

    overflow:visible !important;
}


/* subtítulo abaixo do título */

#login .fx-login-heading p{
    display:block !important;

    position:relative !important;

    width:100% !important;
    height:auto !important;

    margin:17px 0 0 !important;
    padding:0 !important;

    border:0 !important;

    color:#657f7c !important;

    font-size:16px !important;
    line-height:1.48 !important;

    font-weight:400 !important;

    white-space:normal !important;

    overflow:visible !important;
}


/* ----------------------------------------------------------
   FORMULÁRIO COMEÇA DEPOIS DO SUBTÍTULO
   ---------------------------------------------------------- */

#login .fx-login-heading + #login-form,
#login .fx-login-heading + .login-card{
    position:relative !important;

    width:100% !important;

    margin-top:31px !important;

    clear:both !important;
}


/* impede regras antigas de puxarem o formulário para cima */

#login #login-form{
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;

    transform:none !important;
}


/* ----------------------------------------------------------
   PRIMEIRO LABEL
   ---------------------------------------------------------- */

#login #login-form > .fx-label:first-of-type{
    margin-top:0 !important;
}


/* ----------------------------------------------------------
   IDENTIFICAÇÃO SUPERIOR
   ---------------------------------------------------------- */

#login .fx-env{
    top:5.2% !important;
    right:5.0% !important;
}

#login .fx-env strong{
    font-size:11px !important;
    line-height:1 !important;
}

#login .fx-env span{
    margin-top:17px !important;
}

#login .fx-env i{
    margin-top:30px !important;
}


/* ==========================================================
   VIEWPORT DO PRINT ATUAL
   Mantém proporção sem esmagar título/subtítulo/form.
   ========================================================== */

@media (min-width:761px) and (max-height:700px){

    #login .fx-login-main{
        top:14.0% !important;
    }

    #login .fx-login-heading h1{
        font-size:36px !important;
        line-height:1.08 !important;
    }

    #login .fx-login-heading p{
        margin-top:13px !important;

        font-size:14px !important;
        line-height:1.45 !important;
    }

    #login .fx-login-heading + #login-form,
    #login .fx-login-heading + .login-card{
        margin-top:25px !important;
    }
}


/* ==========================================================
   LOGIN — REMOÇÃO DA FAIXA BRANCA DO CABEÇALHO
   SOMENTE VISUAL
   ========================================================== */

/*
   O título e o subtítulo devem repousar diretamente
   sobre o fundo creme do painel direito.
*/

#login .fx-login-heading,
#login .fx-login-heading h1,
#login .fx-login-heading p{
    background:transparent !important;
    background-color:transparent !important;
    background-image:none !important;

    border:0 !important;
    border-top:0 !important;
    border-right:0 !important;
    border-bottom:0 !important;
    border-left:0 !important;

    box-shadow:none !important;
    outline:0 !important;
}


/* remove eventual fundo herdado de containers próximos */

#login .fx-login-main{
    background:transparent !important;
    background-color:transparent !important;
    background-image:none !important;

    border:0 !important;
    box-shadow:none !important;
}


/* garante que nenhum pseudo-elemento antigo recrie a faixa */

#login .fx-login-heading::before,
#login .fx-login-heading::after,
#login .fx-login-heading h1::before,
#login .fx-login-heading h1::after,
#login .fx-login-heading p::before,
#login .fx-login-heading p::after{
    content:none !important;
    display:none !important;
    background:none !important;
    border:0 !important;
    box-shadow:none !important;
}


/*
   Mantém o painel direito com o fundo creme contínuo
   do mockup aprovado.
*/

#login .fx-right{
    background:
        radial-gradient(
            circle at 45% 48%,
            #fffdfa 0%,
            #fbfaf6 64%,
            #faf9f5 100%
        ) !important;
}


/* título permanece exatamente sobre o painel */

#login .fx-login-heading h1{
    color:#075a57 !important;
}


/* subtítulo permanece sem caixa própria */

#login .fx-login-heading p{
    color:#657f7c !important;
}

