*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:Arial, Helvetica, sans-serif;
}

html,
body{
    width:100%;
    height:100%;
    overflow:hidden;
}

body{
    background:#009b2f;
}

/* ========================= */
/* SISTEMA DE TELAS */
/* ========================= */

.tela{
    position:absolute;
    inset:0;

    opacity:0;
    visibility:hidden;

    transition:
    opacity 1s ease,
    visibility 1s ease;
}

.tela.ativa{
    opacity:1;
    visibility:visible;
}

/* ========================= */
/* SPLASH */
/* ========================= */

.splash{
    width:100vw;
    height:100dvh;

    background:#f3f3f3;

    display:flex;
    justify-content:center;
    align-items:center;

    z-index:9999;
}

.logo-container{
    display:flex;
    justify-content:center;
    align-items:center;

    perspective:1200px;
}

.logo-container img{
    width:120px;
    height:auto;

    animation:
    rotateVertical 4s ease-in-out infinite,
    glow 2s ease-in-out infinite;
}

@keyframes rotateVertical{

    0%{
        transform:rotateY(0deg);
    }

    50%{
        transform:rotateY(180deg);
    }

    100%{
        transform:rotateY(360deg);
    }
}

@keyframes glow{

    0%{
        filter:
        drop-shadow(0 0 5px rgba(255,255,255,.3));
    }

    50%{
        filter:
        drop-shadow(0 0 15px rgba(255,255,255,.9))
        drop-shadow(0 0 30px rgba(255,215,0,.8))
        drop-shadow(0 0 50px rgba(255,215,0,.6));
    }

    100%{
        filter:
        drop-shadow(0 0 5px rgba(255,255,255,.3));
    }
}

/* ========================= */
/* HOME */
/* ========================= */

.app{
    width:100vw;
    height:100dvh;

    background:#009b2f;

    position:relative;
    overflow:hidden;
}

.logo{
    position:absolute;
    top:20px;
    left:50%;

    transform:translateX(-50%);

    z-index:5;
}

.logo img{
    width:60px;
}

/* ========================= */
/* CURVAS */
/* ========================= */

.shape{
    position:absolute;
    border-radius:50%;
}

.shape1{
    width:140vw;
    height:45vh;

    background:#0ea83a;

    left:-60vw;
    bottom:15vh;
}

.shape2{
    width:140vw;
    height:40vh;

    background:#19b348;

    right:-50vw;
    bottom:10vh;

    transform:rotate(-8deg);
}

/* ========================= */
/* LOGIN */
/* ========================= */

.login-box{
    position:absolute;

    top:45%;
    left:20px;

    transform:translateY(-50%);

    display:flex;
    align-items:center;

    color:#fff;

    z-index:10;
}

.user-icon{
    font-size:38px;
    margin-right:10px;
}

.login-text strong{
    display:block;
    font-size:16px;
}

.login-text span{
    font-size:13px;
    opacity:.9;
}

/* ========================= */
/* BOTÃO */
/* ========================= */

.bottom-button{
    position:absolute;

    left:16px;
    right:16px;

    bottom:85px;

    z-index:10;
}

.bottom-button button{

    width:100%;
    height:48px;

    border:2px solid #fff;
    border-radius:4px;

    background:transparent;

    color:#fff;

    font-size:12px;
    font-weight:bold;

    cursor:pointer;
}

/* ========================= */
/* MENU */
/* ========================= */

.bottom-nav{
    position:absolute;

    bottom:0;
    left:0;

    width:100%;
    height:70px;

    background:#f4b000;

    display:flex;
    justify-content:space-around;
    align-items:center;
}

.nav-item{

    display:flex;
    flex-direction:column;

    justify-content:center;
    align-items:center;

    color:#333;
}

.nav-item i{
    font-size:24px;
    margin-bottom:4px;
}

.nav-item span{
    font-size:12px;
}

.nav-item.active{
    font-weight:bold;
}

/* ========================= */
/* MOBILE PEQUENO */
/* ========================= */

@media (max-width:360px){

    .logo img{
        width:50px;
    }

    .user-icon{
        font-size:32px;
    }

    .login-text strong{
        font-size:14px;
    }

    .login-text span{
        font-size:12px;
    }

    .bottom-button button{
        height:42px;
        font-size:11px;
    }

    .nav-item i{
        font-size:20px;
    }

    .nav-item span{
        font-size:10px;
    }
}