/*==================================================
                GOOGLE FONT
==================================================*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

/*==================================================
                    RESET
==================================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    scroll-behavior:smooth;
    font-family:'Poppins',sans-serif;
}

body{
    background:#F8FAFC;
    color:#1E293B;
    overflow-x:hidden;
    line-height:1.6;
}

a{
    text-decoration:none;
}

ul{
    list-style:none;
    padding:0;
}

img{
    max-width:100%;
}

/*==================================================
                    VARIÁVEIS
==================================================*/

:root{

    --azul:#2563EB;
    --azulEscuro:#1E40AF;

    --verde:#22C55E;
    --verdeEscuro:#16A34A;

    --amarelo:#FACC15;

    --cinza:#64748B;

    --claro:#F8FAFC;

    --escuro:#0F172A;

    --branco:#FFFFFF;

}

/*==================================================
                NAVBAR
==================================================*/

.navbar{

    background:rgba(15,23,42,.90);

    backdrop-filter:blur(15px);

    padding:18px 0;

    transition:.4s;

    position:fixed;

    width:100%;

    z-index:999;

}

.navbar-brand{

    font-size:32px;

    font-weight:700;

    color:var(--verde)!important;

}

.navbar-brand span{

    color:white;

}

.nav-link{

    color:white!important;

    margin-left:18px;

    font-weight:500;

    transition:.3s;

}

.nav-link:hover{

    color:var(--verde)!important;

}

.btn-login{

    border:2px solid white;

    color:white;

    border-radius:30px;

    padding:10px 24px;

    transition:.3s;

    margin-right:15px;

}

.btn-login:hover{

    background:white;

    color:var(--azul);

}

/*==================================================
                    HERO
==================================================*/

.hero{

    position:relative;

    min-height:100vh;

    display:flex;

    align-items:center;

    background:url("../img/agricultura.jpg");

    background-size:cover;

    background-position:center;

}

.overlay{

    position:absolute;

    width:100%;

    height:100%;

    background:linear-gradient(

    rgba(15,23,42,.88),

    rgba(37,99,235,.55)

    );

}

.hero .container{

    position:relative;

    z-index:5;

}

.hero-text{

    color:white;

}

.hero-badge{

    background:rgba(34,197,94,.15);

    color:#A7F3D0;

    border:1px solid rgba(34,197,94,.4);

    padding:10px 22px;

    border-radius:50px;

    display:inline-block;

    margin-bottom:30px;

}

.hero h1{

    font-size:64px;

    font-weight:800;

    line-height:78px;

    margin-bottom:30px;

}

.hero p{

    font-size:19px;

    color:#E2E8F0;

    margin-bottom:40px;

    max-width:620px;

}

.hero-buttons{

    display:flex;

    gap:18px;

    flex-wrap:wrap;

}

.hero-buttons .btn{

    padding:16px 38px;

    border-radius:40px;

    font-weight:600;

    transition:.35s;

}

.hero-buttons .btn-success{

    background:var(--verde);

    border:none;

}

.hero-buttons .btn-success:hover{

    background:var(--verdeEscuro);

    transform:translateY(-4px);

}

.hero-buttons .btn-outline-light:hover{

    transform:translateY(-4px);

}



/*==================================================
                ANIMAÇÃO HERO
==================================================*/

@keyframes aparecer{

    from{

        opacity:0;

        transform:translateY(60px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

.hero-text{

    animation:aparecer 1s ease;

}

.hero-dashboard{

    animation:aparecer 1.2s ease;

}

/*==================================================
                TÍTULOS
==================================================*/

.section-title{

    color:var(--verde);

    text-transform:uppercase;

    letter-spacing:2px;

    font-size:15px;

    font-weight:700;

}

section{

    padding:110px 0;

}

section h2{

    font-size:46px;

    font-weight:700;

    color:var(--escuro);

    margin:20px 0;

}

section p{

    color: #b5b5b5;

    font-size:18px;

}
/*==================================================
                    SOBRE
==================================================*/

.sobre{

    background:#ffffff;

}

.sobre img{

    border-radius:20px;

    box-shadow:0 25px 50px rgba(0,0,0,.12);

    transition:.4s;

}

.sobre img:hover{

    transform:scale(1.02);

}

.about-item{

    background:#F8FAFC;

    padding:18px;

    border-radius:15px;

    margin-bottom:18px;

    font-weight:500;

    transition:.3s;

}

.about-item i{

    color:var(--verde);

    margin-right:10px;

}

.about-item:hover{

    background:var(--verde);

    color:white;

    transform:translateX(8px);

}

.about-item:hover i{

    color:white;

}

/*==================================================
                FUNCIONALIDADES
==================================================*/

.funcionalidades{

    background:#F8FAFC;

}

.card-funcao{

    background:white;

    border-radius:20px;

    padding:35px;

    height:100%;

    text-align:center;

    transition:.4s;

    border:1px solid #E2E8F0;

}

.card-funcao:hover{

    transform:translateY(-12px);

    box-shadow:0 20px 40px rgba(0,0,0,.12);

    border-color:var(--verde);

}

.card-funcao i{

    width:80px;

    height:80px;

    background:linear-gradient(135deg,var(--azul),var(--verde));

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    margin:auto;

    color:white;

    font-size:34px;

    margin-bottom:25px;

    transition:.4s;

}

.card-funcao:hover i{

    transform:rotate(8deg) scale(1.1);

}

.card-funcao h4{

    margin-bottom:18px;

    font-size:24px;

    color:var(--escuro);

}

.card-funcao p{

    color:var(--cinza);

}

/*==================================================
            COMO FUNCIONA
==================================================*/

.passos{

    background:linear-gradient(135deg,#0F172A,#1E293B);

    color:white;

}

.passos h2{

    color:white;

}

.passo{

    background:white;

    color:#0F172A;

    border-radius:18px;

    padding:35px;

    text-align:center;

    height:100%;

    transition:.4s;

}

.passo:hover{

    transform:translateY(-10px);

}

.passo span{

    width:70px;

    height:70px;

    border-radius:50%;

    background:linear-gradient(135deg,var(--azul),var(--verde));

    color:white;

    display:flex;

    justify-content:center;

    align-items:center;

    margin:auto;

    font-size:28px;

    font-weight:700;

    margin-bottom:20px;

}

.passo h5{

    font-size:20px;

}

/*==================================================
        DASHBOARD PREVIEW
==================================================*/

.dashboard-preview{

    background:white;

}

.dashboard-preview img{

    border-radius:20px;

    box-shadow:0 25px 60px rgba(0,0,0,.18);

    transition:.5s;

}

.dashboard-preview img:hover{

    transform:scale(1.03);

}

.dashboard-preview ul{

    margin-top:30px;

}

.dashboard-preview li{

    margin-bottom:18px;

    font-size:18px;

    color:var(--cinza);

}

.dashboard-preview li::before{

    content:"✓ ";

    color:var(--verde);

    font-weight:bold;

}



/*==================================================
                BENEFÍCIOS
==================================================*/

.beneficios{

    background:#F8FAFC;

}

.card-beneficio{

    background:white;

    padding:35px;

    border-radius:18px;

    text-align:center;

    height:100%;

    transition:.35s;

    box-shadow:0 10px 30px rgba(0,0,0,.06);

}

.card-beneficio:hover{

    transform:translateY(-10px);

}

.card-beneficio i{

    font-size:42px;

    color:var(--verde);

    margin-bottom:20px;

}

.card-beneficio h4{

    margin-bottom:15px;

}

.card-beneficio p{

    color:var(--cinza);

}
/*==================================================
                DIFERENCIAIS
==================================================*/

.diferenciais{

    background:#FFFFFF;

}

.lista-diferenciais{

    margin-top:40px;

}

.lista-diferenciais li{

    font-size:18px;

    margin-bottom:25px;

    padding:18px 25px;

    border-radius:15px;

    background:#F8FAFC;

    transition:.35s;

    color:var(--escuro);

}

.lista-diferenciais li i{

    color:var(--verde);

    margin-right:12px;

}

.lista-diferenciais li:hover{

    background:linear-gradient(90deg,var(--azul),var(--verde));

    color:white;

    transform:translateX(10px);

}

.lista-diferenciais li:hover i{

    color:white;

}

.diferenciais img{

    border-radius:20px;

    box-shadow:0 20px 45px rgba(0,0,0,.15);

}

/*==================================================
                    FAQ
==================================================*/

.faq{

    background:#F8FAFC;

}

.accordion-item{

    border:none;

    margin-bottom:20px;

    border-radius:18px !important;

    overflow:hidden;

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

}

.accordion-button{

    padding:25px;

    font-size:18px;

    font-weight:600;

    color:var(--escuro);

    background:white;

}

.accordion-button:not(.collapsed){

    background:linear-gradient(90deg,var(--azul),var(--verde));

    color:white;

}

.accordion-button:focus{

    box-shadow:none;

}

.accordion-body{

    padding:25px;

    font-size:17px;

    color:var(--cinza);

}

/*==================================================
                    CTA
==================================================*/

.cta{

    background:linear-gradient(135deg,var(--azul),var(--verde));

    color:white;

    text-align:center;

}

.cta h2{

    color:white;

    font-size:52px;

}

.cta p{

    color:white;

    max-width:700px;

    margin:auto;

    margin-bottom:40px;

}

.cta .btn-success{

    background:white;

    color:var(--azul);

    border:none;

    font-weight:600;

}

.cta .btn-success:hover{

    background:#FACC15;

    color:#0F172A;

}

.cta .btn-outline-light:hover{

    color:#2563EB;

}

/*==================================================
                    FOOTER
==================================================*/

footer{

    background:#0F172A;

    color:white;

    padding:80px 0 30px;

}

footer h4{

    margin-bottom:20px;

    color:white;

}

footer p{

    color:#CBD5E1;

}

footer ul{

    padding:0;

}

footer li{

    margin-bottom:12px;

}

footer a{

    color:#CBD5E1;

    transition:.3s;

}

footer a:hover{

    color:var(--verde);

}

.footer-bottom{

    margin-top:50px;

    padding-top:25px;

    border-top:1px solid rgba(255,255,255,.1);

    text-align:center;

    color:#94A3B8;

}

/*==================================================
                BOTÃO TOPO
==================================================*/

.topo{

    position:fixed;

    right:25px;

    bottom:25px;

    width:55px;

    height:55px;

    border-radius:50%;

    background:var(--verde);

    color:white;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:22px;

    cursor:pointer;

    box-shadow:0 15px 30px rgba(0,0,0,.25);

    transition:.35s;

    z-index:999;

}

.topo:hover{

    background:var(--azul);

    transform:translateY(-5px);

}

/*==================================================
                SCROLLBAR
==================================================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#E2E8F0;

}

::-webkit-scrollbar-thumb{

    background:linear-gradient(var(--azul),var(--verde));

    border-radius:20px;

}

/*==================================================
                RESPONSIVIDADE
==================================================*/

@media(max-width:991px){

.hero{

    padding:160px 0 80px;

    text-align:center;

}

.hero h1{

    font-size:46px;

    line-height:58px;

}

.hero-dashboard{

    margin-top:50px;

}

.stats{

    margin-top:0;

}

section{

    padding:80px 0;

}

}

@media(max-width:768px){

.hero h1{

    font-size:36px;

    line-height:46px;

}

.hero-buttons{

    flex-direction:column;

}

.hero-buttons .btn{

    width:100%;

}

section h2{

    font-size:34px;

}

.card-funcao{

    margin-bottom:20px;

}

.card-beneficio{

    margin-bottom:20px;

}

.passo{

    margin-bottom:20px;

}

footer{

    text-align:center;

}

}

/*==================================================
            ANIMAÇÕES DOS CARDS
==================================================*/

.card-funcao,
.card-beneficio,
.passo,
.about-item{

    transition:all .35s ease;

}

.card-funcao:hover,
.card-beneficio:hover,
.passo:hover{

    transform:translateY(-8px);

}

/*==================================================
            SOMBRA GERAL
==================================================*/

.shadow-lg{

    box-shadow:0 20px 60px rgba(0,0,0,.18)!important;

}


/* ================= LOGIN ================= */

.login-section{
    min-height:100vh;
    display:flex;
    align-items:center;
    background:linear-gradient(135deg, var(--escuro), var(--azul));
    padding:120px 0;
}

.login-card{
    background:white;
    padding:50px;
    border-radius:25px;
    box-shadow:0 25px 60px rgba(0,0,0,.25);
    text-align:center;
}

.login-card h2{
    font-size:32px;
    color:var(--escuro);
    margin-bottom:10px;
}

.login-card p{
    color:var(--cinza);
    margin-bottom:30px;
}

.login-card label{
    display:block;
    text-align:left;
    margin-bottom:8px;
    font-weight:500;
    color:var(--escuro);
}

.login-card .form-control{
    padding:14px;
    border-radius:12px;
    border:1px solid #E2E8F0;
    transition:.3s;
}

.login-card .form-control:focus{
    border-color:var(--verde);
    box-shadow:none;
}

.login-card .btn-success{
    padding:14px;
    border-radius:12px;
    font-weight:600;
    margin-top:10px;
    transition:.3s;
}

.login-card .btn-success:hover{
    background:var(--verdeEscuro);
    transform:translateY(-3px);
}

.login-footer{
    margin-top:20px;
    font-size:14px;
}

.login-footer a{
    color:var(--verde);
    font-weight:600;
}





/* ==================================================
                DASHBOARD AGRORISK
==================================================*/

body{
    margin:0;
    background:#eef3f8;
    font-family:'Poppins',sans-serif;
}

/*==========================
        SIDEBAR
===========================*/

.sidebar{

    position:fixed;

    left:0;
    top:0;

    width:270px;
    height:100vh;

    background:linear-gradient(180deg,#0F172A,#1d3557);

    color:white;

    padding:35px 25px;

    display:flex;
    flex-direction:column;

    justify-content:space-between;

    box-shadow:8px 0 30px rgba(0,0,0,.12);

}

.logo{

    font-size:30px;

    font-weight:700;

    color:#22C55E;

    display:flex;

    align-items:center;

    gap:12px;

    margin-bottom:50px;

}

.sidebar ul{

    list-style:none;

    padding:0;

}

.sidebar li{

    margin-bottom:18px;

}

.sidebar a{

    display:flex;

    align-items:center;

    gap:14px;

    padding:16px 18px;

    color:#dbeafe;

    border-radius:15px;

    transition:.35s;

    font-weight:500;

}

.sidebar a:hover{

    background:#2563EB;

    color:white;

    transform:translateX(8px);

}

.sidebar .active a{

    background:#22C55E;

    color:white;

}

.sidebar-footer a{

    background:#dc2626;

    color:white;

    justify-content:center;

}

.sidebar-footer a:hover{

    background:#b91c1c;

}

/*==========================
        CONTEÚDO
===========================*/

.main-content{

    margin-left:270px;

    padding:40px;

}

/*==========================
        TOPBAR
===========================*/

.topbar{

    background:white;

    padding:20px 35px;

    border-radius:20px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    box-shadow:0 12px 30px rgba(0,0,0,.06);

}

.topbar h2{

    margin:0;

    font-weight:700;

}

.topbar span{

    color:#64748B;

}

.perfil-topo{

    display:flex;

    align-items:center;

    gap:15px;

}

.perfil-topo img{

    width:55px;

    height:55px;

    border-radius:50%;

    object-fit:cover;

    border:3px solid #22C55E;

}

.perfil-topo strong{

    display:block;

    color:#0F172A;

}

.perfil-topo small{

    color:#64748B;

}

/* =====================================
   PERFIL AG RORISK - MELHORIAS
===================================== */

.perfil-identidade {
    text-align: center;
}

.perfil-identidade h3 {
    margin: 15px 0 5px;
    font-size: 22px;
    overflow-wrap: anywhere;
}

.perfil-identidade p {
    color: #64748b;
    overflow-wrap: anywhere;
}

.avatar-iniciais {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background: linear-gradient(135deg, #166534, #22c55e);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    font-size: 46px;
    font-weight: 700;
    letter-spacing: 2px;
    border: 5px solid #dcfce7;
    box-shadow: 0 12px 28px rgba(34, 197, 94, 0.18);
}

.mensagem-perfil {
    margin-top: 25px;
    padding: 15px 18px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 600;
}

.mensagem-perfil[hidden] {
    display: none;
}

.mensagem-perfil.sucesso {
    background: #dcfce7;
    color: #166534;
    border: 1px solid #86efac;
}

.mensagem-perfil.erro {
    background: #fee2e2;
    color: #991b1b;
    border: 1px solid #fca5a5;
}

.btn-profile-save:disabled {
    opacity: 0.65;
    cursor: wait;
    transform: none;
}

@media (max-width: 768px) {
    .avatar-iniciais {
        width: 115px;
        height: 115px;
        font-size: 36px;
    }
}




/* ===================================
   FOTO DO USUÁRIO NO DASHBOARD
=================================== */

#fotoUsuarioDashboard {
    width: 55px;
    height: 55px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #22c55e;
    background: #dcfce7;
}

#iconeUsuarioDashboard {
    font-size: 52px;
    color: #16a34a;
    line-height: 1;
}

.perfil-topo strong {
    overflow-wrap: anywhere;
}






/*==========================
        HERO
===========================*/

.hero-dashboard{

    margin-top:30px;

    background:linear-gradient(135deg,#2563EB,#22C55E);

    border-radius:25px;

    padding:45px;

    color:white;

    display:flex;

    justify-content:space-between;

    align-items:center;

    overflow:hidden;

    position:relative;

}

.hero-dashboard::after{

    content:"";

    position:absolute;

    width:260px;

    height:260px;

    background:rgba(255,255,255,.08);

    border-radius:50%;

    right:-80px;

    top:-60px;

}

.hero-dashboard h1{

    font-size:42px;

    font-weight:700;

}

.hero-dashboard p{

    color:#E2E8F0;

    max-width:650px;

}

.hero-icon{

    font-size:90px;

    opacity:.30;

}

/*==========================
        CARDS
===========================*/

.cards-dashboard{

    margin-top:35px;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}

.card-info{

    background:white;

    border-radius:22px;

    padding:28px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    box-shadow:0 12px 30px rgba(0,0,0,.06);

    transition:.35s;

}

.card-info:hover{

    transform:translateY(-10px);

}

.card-info small{

    color:#64748B;

    font-size:15px;

}

.card-info h2{

    margin-top:8px;

    font-size:36px;

    color:#0F172A;

}

.card-info i{

    width:70px;

    height:70px;

    background:linear-gradient(135deg,#2563EB,#22C55E);

    border-radius:20px;

    color:white;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:30px;

}


/* ==========================================
   AGRORISK - DASHBOARD ORGANIZADO
========================================== */

/* ACESSO RÁPIDO */

.acoes-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* PAINÉIS DE RESUMO */

.dashboard-paineis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
}

.dashboard-painel-cabecalho {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 10px;
}

.dashboard-painel-cabecalho h4 {
    margin: 0;
    font-size: 21px;
}

.dashboard-painel-descricao {
    color: #64748b;
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 18px;
}

.dashboard-ver-todos {
    text-decoration: none;
    color: #16a34a;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}

.dashboard-ver-todos:hover {
    color: #15803d;
    text-decoration: underline;
}

/* LISTA DE PROPRIEDADES E SAFRAS */

.dashboard-lista {
    padding: 0;
    margin: 0;
    list-style: none;
}

.dashboard-registro {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 16px 0;
    border-bottom: 1px solid #e2e8f0;
}

.dashboard-registro:last-child {
    border-bottom: none;
}

.dashboard-registro > i {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    min-width: 44px;
    background: #dcfce7;
    color: #15803d;
    border-radius: 13px;
    font-size: 18px;
}

.dashboard-registro-conteudo {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.dashboard-registro-conteudo strong {
    color: #0f172a;
    font-size: 15px;
    overflow-wrap: anywhere;
}

.dashboard-registro-conteudo small {
    color: #64748b;
    font-size: 13px;
    overflow-wrap: anywhere;
}

.dashboard-vazio {
    padding: 20px 0;
    color: #64748b;
    font-size: 14px;
}

/* ORIENTAÇÃO AO USUÁRIO */

.dashboard-orientacao {
    margin-top: 25px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 18px;
    padding: 22px;
    display: flex;
    gap: 15px;
    align-items: flex-start;
}

.dashboard-orientacao > i {
    color: #2563eb;
    font-size: 23px;
    margin-top: 3px;
}

.dashboard-orientacao strong {
    display: block;
    color: #1e40af;
    margin-bottom: 6px;
}

.dashboard-orientacao p {
    color: #475569;
    margin: 0;
    line-height: 1.6;
}

/* EVITAR TEXTO FORA DOS CARDS */

.card-info h2 {
    overflow-wrap: anywhere;
}

/* PRESERVAR A FOTO DO PERFIL */

#fotoUsuarioDashboard:not([hidden]) {
    display: block !important;
}

#fotoUsuarioDashboard[hidden],
#iconeUsuarioDashboard[hidden] {
    display: none !important;
}

#iconeUsuarioDashboard:not([hidden]) {
    display: block !important;
}

/* RESPONSIVIDADE */

@media (max-width: 1200px) {
    .acoes-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1000px) {
    .dashboard-paineis {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .dashboard-painel-cabecalho {
        flex-direction: column;
        gap: 8px;
    }

    .dashboard-orientacao {
        padding: 16px;
    }

    .dashboard-painel-cabecalho h4 {
        font-size: 19px;
    }
}



/*==================================================
            TÍTULOS DAS SEÇÕES
==================================================*/

.titulo-secao{

    margin-top:45px;
    margin-bottom:20px;

    font-size:26px;

    font-weight:700;

    color:#0F172A;

}

/*==================================================
            ACESSO RÁPIDO
==================================================*/

.acoes-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:25px;

}

.acao-card{

    background:white;

    border-radius:22px;

    padding:35px;

    text-decoration:none;

    color:#1E293B;

    box-shadow:0 12px 30px rgba(0,0,0,.06);

    transition:.35s;

    position:relative;

    overflow:hidden;

}

.acao-card::before{

    content:"";

    position:absolute;

    width:180px;

    height:180px;

    background:rgba(34,197,94,.05);

    border-radius:50%;

    right:-60px;

    top:-60px;

}

.acao-card:hover{

    transform:translateY(-12px);

    box-shadow:0 20px 45px rgba(37,99,235,.18);

}

.acao-card .icone{

    width:70px;

    height:70px;

    background:linear-gradient(135deg,#2563EB,#22C55E);

    border-radius:18px;

    display:flex;

    justify-content:center;

    align-items:center;

    color:white;

    font-size:30px;

    margin-bottom:25px;

}

.acao-card h4{

    color:#0F172A;

    font-size:24px;

    margin-bottom:15px;

}

.acao-card p{

    color:#64748B;

    line-height:28px;

    margin-bottom:25px;

}

.acao-card span{

    color:#22C55E;

    font-weight:600;

}

.acao-card:hover span{

    color:#2563EB;

}

/*==================================================
            PAINÉIS
==================================================*/

.painel-grid{

    margin-top:40px;

    display:grid;

    grid-template-columns:1.3fr .7fr;

    gap:30px;

}

.painel{

    background:white;

    border-radius:22px;

    padding:30px;

    box-shadow:0 12px 30px rgba(0,0,0,.06);

}

.painel h4{

    font-size:24px;

    color:#0F172A;

    margin-bottom:25px;

}

.painel h4 i{

    color:#22C55E;

    margin-right:10px;

}

/*==================================================
            CLIMA
==================================================*/

.weather{

    text-align:center;

}

.weather h1{

    font-size:70px;

    color:#2563EB;

    font-weight:700;

}

.weather p{

    font-size:20px;

    color:#64748B;

}

.weather hr{

    margin:30px 0;

}

.weather-info{

    display:flex;

    justify-content:space-around;

}

.weather-info div{

    display:flex;

    flex-direction:column;

}

.weather-info strong{

    color:#0F172A;

}

.weather-info span{

    color:#64748B;

    margin-top:8px;

}

/*==================================================
            TIMELINE
==================================================*/

.timeline{

    list-style:none;

    padding:0;

}

.timeline li{

    display:flex;

    align-items:center;

    gap:15px;

    padding:18px 0;

    border-bottom:1px solid #EDF2F7;

    color:#334155;

}

.timeline li:last-child{

    border:none;

}

.timeline i{

    color:#22C55E;

    font-size:18px;

}

/*==================================================
            FOOTER
==================================================*/

.dashboard-footer{

    margin-top:45px;

    background:white;

    padding:20px;

    border-radius:18px;

    text-align:center;

    color:#64748B;

    box-shadow:0 8px 20px rgba(0,0,0,.05);

}

/*==================================================
            ANIMAÇÕES
==================================================*/

.card-info,
.acao-card,
.painel{

    animation:fadeUp .7s ease;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(30px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/*==================================================
            RESPONSIVO
==================================================*/

@media(max-width:1200px){

.cards-dashboard{

    grid-template-columns:repeat(2,1fr);

}

.acoes-grid{

    grid-template-columns:1fr;

}

.painel-grid{

    grid-template-columns:1fr;

}

}

@media(max-width:900px){

.sidebar{

    width:90px;

}

.sidebar span{

    display:none;

}

.logo span{

    display:none;

}

.main-content{

    margin-left:90px;

}

.topbar{

    flex-direction:column;

    gap:20px;

}

.hero-dashboard{

    flex-direction:column;

    text-align:center;

    gap:30px;

}

}

@media(max-width:700px){

.cards-dashboard{

    grid-template-columns:1fr;

}

.main-content{

    padding:20px;

}

.hero-dashboard h1{

    font-size:30px;

}

.hero-icon{

    font-size:60px;

}

.weather h1{

    font-size:48px;

}

.weather-info{

    flex-direction:column;

    gap:20px;

}

}

/*==================================================
        NOVA PÁGINA CADASTRO PROPRIEDADE
==================================================*/

.property-body{

    background:#EEF5F3;

    min-height:100vh;

}

/*================ HEADER ================*/

.property-header{

    background:linear-gradient(135deg,#123D2F,#1D6B4E);

    padding:45px 0;

    color:#fff;

    box-shadow:0 10px 30px rgba(0,0,0,.15);

}

.header-content{

    display:flex;

    justify-content:space-between;

    align-items:center;

    flex-wrap:wrap;

    gap:20px;

}

.property-header h1{

    font-size:42px;

    font-weight:700;

    margin-bottom:10px;

}

.property-header p{

    color:#DDEFE8;

    margin:0;

    max-width:600px;

}

.btn-voltar{

    background:white;

    color:#14532D;

    padding:14px 24px;

    border-radius:14px;

    font-weight:600;

    transition:.3s;

}

.btn-voltar:hover{

    transform:translateY(-3px);

    color:#14532D;

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

}

/*================ CONTAINER ================*/

.property-page{

    margin-top:-30px;

    padding-bottom:50px;

}

/*================ MAPA ================*/

.map-card{

    background:white;

    border-radius:25px;

    padding:25px;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

}

.map-top{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:20px;

    flex-wrap:wrap;

    gap:15px;

}

.map-top h3{

    color:#14532D;

    font-size:28px;

    margin-bottom:5px;

}

.map-top span{

    color:#777;

}

#map{

    width:100%;

    height:650px;

    border-radius:20px;

    overflow:hidden;

    border:3px solid #EDF2EF;

}

/*================ BOTÃO MAPA ================*/

.btn-search{

    background:linear-gradient(135deg,#198754,#34C759);

    color:white;

    border:none;

    padding:14px 24px;

    border-radius:14px;

    font-weight:600;

    transition:.3s;

}

.btn-search:hover{

    transform:translateY(-3px);

    box-shadow:0 10px 25px rgba(25,135,84,.35);

}

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

.side-panel{

    background:white;

    border-radius:25px;

    padding:30px;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

    position:sticky;

    top:30px;

}

.side-panel h3{

    color:#14532D;

    margin-bottom:25px;

    font-weight:700;

}

.side-panel label{

    font-weight:600;

    color:#1F2937;

    margin-bottom:8px;

}

.side-panel .form-control,

.side-panel .form-select{

    border-radius:14px;

    padding:14px;

    border:2px solid #E8ECEF;

    transition:.3s;

}

.side-panel .form-control:focus,

.side-panel .form-select:focus{

    border-color:#198754;

    box-shadow:none;

}

/*================ MINI CARDS ================*/

.info-cards{

    display:grid;

    grid-template-columns:1fr;

    gap:15px;

    margin-top:30px;

}

.mini-card{

    background:linear-gradient(135deg,#F8FCF9,#EFF8F3);

    border-left:6px solid #198754;

    border-radius:18px;

    padding:20px;

}

.mini-card i{

    font-size:26px;

    color:#198754;

    margin-bottom:12px;

}

.mini-card h5{

    margin-bottom:10px;

    color:#14532D;

}

.mini-card span{

    color:#555;

}

/*==================================================
                ÁREA / PERÍMETRO
==================================================*/

.metricas{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:18px;

    margin-top:25px;

}

.metric-card{

    background:white;

    border-radius:20px;

    padding:22px;

    text-align:center;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

    transition:.35s;

}

.metric-card:hover{

    transform:translateY(-8px);

}

.metric-card i{

    width:65px;

    height:65px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    margin:auto;

    margin-bottom:15px;

    background:linear-gradient(135deg,#198754,#2ECC71);

    color:white;

    font-size:24px;

}

.metric-card h5{

    color:#14532D;

    font-weight:700;

}

.metric-card span{

    font-size:18px;

    color:#666;

}

/*==================================================
                CLIMA
==================================================*/

.clima-card{

    margin-top:25px;

    border-radius:22px;

    background:linear-gradient(135deg,#0EA5E9,#2563EB);

    color:white;

    padding:28px;

    box-shadow:0 20px 45px rgba(37,99,235,.25);

}

.clima-card h4{

    font-weight:700;

    margin-bottom:15px;

}

.clima-card p{

    margin:6px 0;

    color:white;

}

.clima-temp{

    font-size:52px;

    font-weight:700;

}

.clima-desc{

    font-size:18px;

    opacity:.9;

}

/*==================================================
                BOTÕES
==================================================*/

.actions{

    display:flex;

    justify-content:flex-end;

    gap:15px;

    margin-top:30px;

    flex-wrap:wrap;

}

.btn-limpar{

    border:none;

    padding:15px 28px;

    border-radius:15px;

    background:#EF4444;

    color:white;

    font-weight:600;

    transition:.3s;

}

.btn-limpar:hover{

    transform:translateY(-4px);

    background:#DC2626;

}

.btn-salvar{

    border:none;

    padding:15px 30px;

    border-radius:15px;

    background:linear-gradient(135deg,#16A34A,#22C55E);

    color:white;

    font-weight:700;

    transition:.35s;

}

.btn-salvar:hover{

    transform:translateY(-4px);

    box-shadow:0 15px 35px rgba(34,197,94,.35);

}

/*==================================================
                ANIMAÇÕES
==================================================*/

.side-panel,
.map-card,
.metric-card,
.clima-card{

    animation:fadeUp .7s ease;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/*==================================================
            EFEITO INPUTS
==================================================*/

.form-control:hover,
.form-select:hover{

    border-color:#198754;

}

.form-control::placeholder{

    color:#AAA;

}

textarea.form-control{

    resize:none;

}

/*==================================================
            SCROLLBAR MAPA
==================================================*/

.leaflet-container{

    border-radius:20px;

}

.leaflet-bar a{

    border-radius:10px !important;

}

/*==================================================
            SOMBRA DOS CARDS
==================================================*/

.side-panel:hover,
.map-card:hover{

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

}



























/*==================================================
            MONITORAMENTO
==================================================*/

/* =========================================
   MONITORAMENTO - AJUSTES DE VISUAL
========================================= */

/* TOPO MAIS FINO */

.monitoramento-body .monitor-nav {
    position: relative;
    top: auto;
    padding: 9px 0;
    box-shadow: 0 4px 14px rgba(15, 23, 42, .12);
}

.monitoramento-body .monitor-nav .container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}

.monitoramento-body .monitor-nav .logo {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    margin: 0;
    font-size: 23px;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
}

.monitoramento-body .monitor-nav .logo i {
    margin-right: 6px;
}

.monitoramento-body .monitor-nav .logo span {
    display: inline !important;
}

.monitoramento-body .monitor-nav .menu {
    gap: 5px;
}

.monitoramento-body .monitor-nav .menu a {
    padding: 8px 11px;
    font-size: 13px;
    border-radius: 9px;
}

/* CABEÇALHO MAIS COMPACTO */

.monitoramento-body .monitor-header {
    padding: 26px 0 41px;
}

.monitoramento-body .monitor-header .header-content {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.monitoramento-body .badge-monitor {
    padding: 6px 11px;
    margin-bottom: 9px;
    font-size: 12px;
}

.monitoramento-body .monitor-header h1 {
    margin: 0;
    font-size: clamp(24px, 3vw, 34px);
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.monitoramento-body .monitor-header p {
    margin: 9px 0 0;
    font-size: 14px;
}

/* BOTÃO EDITAR DISCRETO */

.monitor-edit-btn {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 10px 15px;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 12px;
    background: rgba(255, 255, 255, .16);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: background .2s, transform .2s;
}

.monitor-edit-btn:hover {
    background: #fff;
    color: #166534;
    transform: translateY(-1px);
}

/* INDICADORES COMPACTOS */

.monitoramento-body .monitor-section {
    margin-top: -19px;
    padding-bottom: 45px;
}

.monitoramento-body .monitor-card {
    padding: 20px 15px;
    border-radius: 16px;
    box-shadow: 0 5px 18px rgba(15, 23, 42, .06);
}

.monitoramento-body .monitor-card:hover {
    transform: translateY(-3px);
}

.monitoramento-body .monitor-card i {
    font-size: 26px;
    margin-bottom: 10px;
}

.monitoramento-body .monitor-card h2 {
    margin: 0 0 5px;
    font-size: clamp(20px, 2.4vw, 28px);
    overflow-wrap: anywhere;
}

.monitoramento-body .monitor-card p {
    margin: 0;
    font-size: 13px;
}

/* MAPA E PAINÉIS */

.monitoramento-body .monitor-map,
.monitoramento-body .weather-panel,
.monitoramento-body .grafico-box,
.monitoramento-body .previsao-box,
.monitoramento-body .historico-box {
    border-radius: 18px;
    padding: 24px;
}

.monitoramento-body .monitor-map {
    margin-top: 6px;
}

.monitoramento-body #map {
    height: 430px;
    border-radius: 14px;
}

.monitoramento-body .titulo-box {
    margin-bottom: 18px;
}

.monitoramento-body .titulo-box h3 {
    font-size: 22px;
}

/* AÇÕES */

.monitoramento-body .acoes-monitor {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.monitoramento-body .acoes-monitor .acao-card {
    padding: 22px;
    border-radius: 16px;
}

.monitoramento-body .acoes-monitor .acao-card i {
    width: 46px;
    height: 46px;
    font-size: 20px;
    margin-bottom: 12px;
}

.monitoramento-body .acoes-monitor .acao-card h5 {
    font-size: 18px;
}

.monitoramento-body .acoes-monitor .acao-card p {
    margin: 0;
    font-size: 14px;
}

/* PAINEL CLIMÁTICO */

.monitoramento-body .weather-card {
    padding: 18px 8px;
}

.monitoramento-body .weather-card i {
    font-size: 26px;
    margin-bottom: 9px;
}

.monitoramento-body .weather-card h2 {
    font-size: 23px;
}

.monitoramento-body .weather-card span {
    font-size: 12px;
}

.monitor-pendente {
    display: inline-block;
    margin-top: 14px;
    color: #64748b;
}

/* SITUAÇÃO DA SAFRA */

.monitoramento-body .status-panel {
    border-radius: 18px;
    padding: 24px;
    margin: 0;
}

.monitoramento-body .status-panel h3 {
    font-size: 20px;
    margin-bottom: 18px;
}

.monitoramento-body .status-item {
    gap: 12px;
    font-size: 13px;
}

.monitoramento-body .status-item strong {
    text-align: right;
    overflow-wrap: anywhere;
}

.monitor-status-nota {
    margin: 20px 0 0;
    font-size: 12px;
    opacity: .92;
    line-height: 1.5;
}

/* GRÁFICO AINDA SEM HISTÓRICO */

.monitor-placeholder {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 24px;
    border: 1px dashed #a7c9b2;
    border-radius: 14px;
    background: #f1faf4;
    color: #14532d;
}

.monitor-placeholder > i {
    font-size: 30px;
}

.monitor-placeholder strong {
    display: block;
}

.monitor-placeholder span {
    display: block;
    font-size: 13px;
    color: #64748b;
    margin-top: 4px;
}

/* PREVISÃO */

.monitoramento-body .forecast-card {
    padding: 20px 10px;
}

.monitoramento-body .forecast-card h3 {
    font-size: 23px;
}

/* LISTAGEM DE SAFRAS */

.monitor-safra-conteudo {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.monitor-safra-conteudo strong {
    font-size: 15px;
    color: #0f172a;
}

.monitor-safra-conteudo small {
    color: #64748b;
}

.monitor-link-safra {
    font-size: 13px;
    color: #15803d;
    font-weight: 600;
    text-decoration: none;
}

.monitor-link-safra:hover {
    text-decoration: underline;
}

#historicoSafras.sem-registros::before {
    display: none;
}

#historicoSafras.sem-registros li {
    padding-left: 0;
}

/* RODAPÉ */

.monitoramento-body .monitor-footer {
    margin-top: 5px;
    padding: 20px 0;
}

/* CELULAR */

@media (max-width: 768px) {

    .monitoramento-body .monitor-nav .container {
        flex-wrap: wrap;
    }

    .monitoramento-body .monitor-nav .menu {
        width: 100%;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .monitoramento-body .monitor-nav .menu a {
        padding: 7px 8px;
    }

    .monitoramento-body .monitor-header {
        text-align: left;
    }

    .monitoramento-body .monitor-header .header-content {
        align-items: flex-start;
    }

    .monitoramento-body .acoes-monitor {
        grid-template-columns: 1fr;
    }

    .monitoramento-body #map {
        height: 330px;
    }

    .monitoramento-body .monitor-card,
    .monitoramento-body .weather-card {
        margin-bottom: 0;
    }
}


.monitoramento-body{
    background:#F4F7FB;
    min-height:100vh;
}

/* ================= NAVBAR ================= */

.monitor-nav{
    background:#0F172A;
    padding:18px 0;
    position:sticky;
    top:0;
    z-index:999;
    box-shadow:0 10px 30px rgba(0,0,0,.12);
}

.monitor-nav .container{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.logo{
    font-size:30px;
    font-weight:700;
    color:#22C55E;
}

.logo span{
    color:#FFF;
}

.logo i{
    margin-right:10px;
}

.menu{
    display:flex;
    gap:18px;
}

.menu a{
    color:#FFF;
    text-decoration:none;
    padding:10px 18px;
    border-radius:12px;
    transition:.3s;
}

.menu a:hover{
    background:#1E293B;
}

/* ================= HEADER ================= */

.monitor-header{

    padding:60px 0;

    background:linear-gradient(135deg,#2563EB,#16A34A);

    color:#FFF;

}

.header-content{

    display:flex;

    justify-content:space-between;

    align-items:center;

    flex-wrap:wrap;

}

.badge-monitor{

    display:inline-block;

    background:rgba(255,255,255,.18);

    padding:10px 18px;

    border-radius:30px;

    margin-bottom:20px;

    backdrop-filter:blur(8px);

}

.monitor-header h1{

    font-size:44px;

    font-weight:700;

}

.monitor-header p{

    font-size:18px;

    margin-top:15px;

}

/* ================= CONTAINER ================= */

.monitor-section{

    margin-top:-35px;

    padding-bottom:70px;

}

/* ================= TITULOS ================= */

.titulo-box{

    margin-bottom:25px;

}

.titulo-box h3{

    font-size:28px;

    font-weight:700;

    color:#0F172A;

}

.titulo-box p{

    color:#64748B;

}

/* ================= CARDS ================= */

.monitor-card{

    background:#FFF;

    border-radius:20px;

    padding:35px;

    text-align:center;

    box-shadow:0 10px 35px rgba(0,0,0,.08);

    transition:.35s;

    height:100%;

}

.monitor-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 40px rgba(0,0,0,.12);

}

.monitor-card i{

    font-size:42px;

    color:#16A34A;

    margin-bottom:18px;

}

.monitor-card h2{

    font-size:34px;

    color:#2563EB;

    margin-bottom:8px;

}

.monitor-card p{

    color:#64748B;

}

/* ================= MAPA ================= */

.monitor-map{

    background:#FFF;

    padding:30px;

    border-radius:25px;

    margin-top:35px;

    box-shadow:0 12px 35px rgba(0,0,0,.08);

}

#map{

    width:100%;

    height:550px;

    border-radius:20px;

    overflow:hidden;

}

/* ================= AÇÕES ================= */

.acoes-monitor{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

    gap:25px;

}

.acao-card{

    background:#FFF;

    border-radius:20px;

    padding:30px;

    text-decoration:none;

    color:#1E293B;

    transition:.35s;

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

}

.acao-card:hover{

    transform:translateY(-8px);

    color:#1E293B;

}

.acao-card i{

    width:70px;

    height:70px;

    border-radius:50%;

    background:linear-gradient(135deg,#2563EB,#16A34A);

    display:flex;

    justify-content:center;

    align-items:center;

    color:#FFF;

    font-size:28px;

    margin-bottom:20px;

}

.acao-card h5{

    font-size:22px;

    font-weight:700;

    margin-bottom:10px;

}

.acao-card p{

    color:#64748B;

}

/*==================================================
            PAINEL DO CLIMA
==================================================*/

.weather-panel{

    background:#FFF;

    padding:30px;

    border-radius:25px;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

    height:100%;

}

.weather-card{

    text-align:center;

    background:#F8FAFC;

    padding:25px;

    border-radius:18px;

    transition:.35s;

    border:1px solid #E2E8F0;

}

.weather-card:hover{

    transform:translateY(-6px);

    background:#FFFFFF;

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

}

.weather-card i{

    font-size:36px;

    color:#2563EB;

    margin-bottom:15px;

}

.weather-card h2{

    font-size:30px;

    color:#16A34A;

    font-weight:700;

}

.weather-card span{

    color:#64748B;

}

/*==================================================
            STATUS DA SAFRA
==================================================*/

.status-panel{

    background:linear-gradient(135deg,#16A34A,#2563EB);

    color:white;

    border-radius:25px;

    padding:30px;

    height:100%;

    box-shadow:0 15px 35px rgba(0,0,0,.12);

}

.status-panel h3{

    margin-bottom:30px;

    font-size:26px;

}

.status-item{

    display:flex;

    justify-content:space-between;

    padding:15px 0;

    border-bottom:1px solid rgba(255,255,255,.15);

}

.status-item:last-child{

    border:none;

}

/*==================================================
            GRÁFICO
==================================================*/

.grafico-box{

    background:white;

    border-radius:25px;

    padding:35px;

    margin-top:40px;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

}

#graficoSafra{

    height:350px !important;

}

/*==================================================
            PREVISÃO
==================================================*/

.previsao-box{

    background:white;

    border-radius:25px;

    padding:35px;

    margin-top:40px;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

}

.forecast-card{

    background:#F8FAFC;

    border-radius:20px;

    text-align:center;

    padding:25px;

    transition:.35s;

    border:1px solid #E2E8F0;

}

.forecast-card:hover{

    transform:translateY(-8px);

    background:white;

    box-shadow:0 12px 25px rgba(0,0,0,.08);

}

.forecast-card h5{

    margin-bottom:15px;

}

.forecast-card h3{

    margin-top:15px;

    color:#16A34A;

}

.forecast-card i{

    font-size:34px;

    color:#2563EB;

}

/*==================================================
            HISTÓRICO
==================================================*/

.historico-box{

    background:white;

    padding:35px;

    border-radius:25px;

    margin-top:40px;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

}

.timeline{

    list-style:none;

    padding-left:20px;

    position:relative;

}

.timeline::before{

    content:"";

    position:absolute;

    left:8px;

    top:0;

    width:3px;

    height:100%;

    background:#16A34A;

}

.timeline li{

    position:relative;

    margin-bottom:25px;

    padding-left:30px;

    color:#475569;

}

.timeline li:last-child{

    margin-bottom:0;

}

.dot{

    position:absolute;

    left:-2px;

    top:5px;

    width:18px;

    height:18px;

    background:#16A34A;

    border-radius:50%;

    border:4px solid white;

    box-shadow:0 0 0 3px #16A34A;

}

/*==================================================
            FOOTER
==================================================*/

.monitor-footer{

    background:#0F172A;

    color:white;

    padding:30px 0;

    text-align:center;

    margin-top:60px;

}

.monitor-footer p{

    margin:0;

    color:#CBD5E1;

}

/*==================================================
            RESPONSIVO
==================================================*/

@media(max-width:991px){

.header-content{

    flex-direction:column;

    align-items:flex-start;

    gap:20px;

}

.monitor-header h1{

    font-size:34px;

}

#map{

    height:400px;

}

.weather-card{

    margin-bottom:20px;

}

.status-panel{

    margin-top:25px;

}

}

@media(max-width:768px){

.monitor-nav .container{

    flex-direction:column;

    gap:20px;

}

.menu{

    width:100%;

    justify-content:center;

    flex-wrap:wrap;

}

.monitor-header{

    text-align:center;

}

.monitor-header h1{

    font-size:30px;

}

.monitor-card{

    margin-bottom:20px;

}

.acao-card{

    text-align:center;

}

.weather-card{

    padding:18px;

}

.forecast-card{

    margin-bottom:20px;

}

#graficoSafra{

    height:250px !important;

}

}


/*==========================================
            PÁGINA SAFRAS
==========================================*/

.safras-body{
    background:#F5F8FC;
}

/* HEADER */

.lista-safras{
    margin-top:40px;
}

.lista-safras .titulo-secao{
    margin-bottom:35px;
}

.lista-safras .titulo-secao h3{
    font-size:28px;
    color:#1e293b;
    font-weight:700;
}

.lista-safras .titulo-secao i{
    color:#22c55e;
    margin-right:10px;
}

/* CARD */

.safra-card{

    background:#fff;

    border-radius:24px;

    padding:30px;

    margin-bottom:30px;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

    transition:.35s;

    border:1px solid #edf2f7;

}

.safra-card:hover{

    transform:translateY(-8px);

    box-shadow:0 25px 60px rgba(0,0,0,.12);

}

/* TOPO */

.safra-top{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:30px;

}

.safra-top h3{

    font-size:30px;

    color:#0f172a;

    margin-top:10px;

    margin-bottom:5px;

    font-weight:700;

}

.safra-top small{

    color:#64748b;

    font-size:15px;

}

.safra-icon{

    width:90px;

    height:90px;

    border-radius:22px;

    background:linear-gradient(135deg,#2563eb,#22c55e);

    display:flex;

    justify-content:center;

    align-items:center;

    color:white;

    font-size:38px;

}

/* STATUS */

.badge-status{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:8px 18px;

    border-radius:40px;

    font-size:14px;

    font-weight:600;

}

.badge-status i{

    font-size:10px;

}

.andamento{

    background:#dcfce7;

    color:#15803d;

}

.finalizada{

    background:#dbeafe;

    color:#2563eb;

}

/* INFO */

.safra-info{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

    margin-bottom:35px;

}

.safra-info div{

    background:#f8fafc;

    border-radius:18px;

    padding:22px;

    text-align:center;

    transition:.3s;

}

.safra-info div:hover{

    background:#eef6ff;

}

.safra-info span{

    display:block;

    color:#64748b;

    font-size:14px;

    margin-bottom:10px;

}

.safra-info strong{

    font-size:24px;

    color:#0f172a;

}/*==========================================
            BOTÕES DAS SAFRAS
==========================================*/

.safra-buttons{

    display:flex;

    gap:18px;

    flex-wrap:wrap;

}

.safra-buttons a{

    flex:1;

    min-width:180px;

    text-decoration:none;

    padding:15px 22px;

    border-radius:14px;

    font-weight:600;

    transition:.35s;

    display:flex;

    justify-content:center;

    align-items:center;

    gap:10px;

}

.btn-monitorar{

    background:linear-gradient(135deg,#2563EB,#22C55E);

    color:white;

}

.btn-monitorar:hover{

    color:white;

    transform:translateY(-5px);

    box-shadow:0 15px 35px rgba(37,99,235,.35);

}

.btn-editar{

    background:#F8FAFC;

    color:#0F172A;

    border:2px solid #E2E8F0;

}

.btn-editar:hover{

    background:#2563EB;

    color:white;

    border-color:#2563EB;

}

.btn-relatorio{

    background:#0F172A;

    color:white;

}

.btn-relatorio:hover{

    color:white;

    background:#1E293B;

}

/*==========================================
            HERO
==========================================*/

.safras-body .hero-dashboard{

    background:linear-gradient(135deg,#2563EB,#22C55E);

    border-radius:25px;

    padding:50px;

    margin-bottom:40px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    color:white;

}

.safras-body .hero-dashboard h1{

    font-size:42px;

    font-weight:700;

}

.safras-body .hero-dashboard p{

    color:white;

    opacity:.9;

    max-width:650px;

}

.safras-body .hero-icon{

    width:130px;

    height:130px;

    border-radius:30px;

    background:rgba(255,255,255,.15);

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:60px;

}

/*==========================================
            ANIMAÇÕES
==========================================*/

.safra-card{

    animation:fadeSafra .6s ease;

}

@keyframes fadeSafra{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/*==========================================
            RESPONSIVO
==========================================*/

@media(max-width:992px){

.safra-top{

    flex-direction:column;

    align-items:flex-start;

    gap:25px;

}

.safra-icon{

    width:80px;

    height:80px;

    font-size:32px;

}

.safra-info{

    grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.safras-body .hero-dashboard{

    padding:30px;

    flex-direction:column;

    text-align:center;

    gap:30px;

}

.safras-body .hero-dashboard h1{

    font-size:30px;

}

.safra-info{

    grid-template-columns:1fr;

}

.safra-buttons{

    flex-direction:column;

}

.safra-buttons a{

    width:100%;

}

.safra-top h3{

    font-size:24px;

}

.safra-card{

    padding:22px;

}

}

@media(max-width:576px){

.lista-safras .titulo-secao h3{

    font-size:22px;

}

.safras-body .hero-dashboard{

    border-radius:18px;

}

.safras-body .hero-icon{

    width:90px;

    height:90px;

    font-size:42px;

}

.safra-top{

    margin-bottom:20px;

}

.safra-info strong{

    font-size:20px;

}

}

/*==================================================
            CADASTRO DE SAFRA
==================================================*/

.safra-body{

    background:#F4F8FB;

}

/* NAVBAR */

.safra-navbar{

    background:#0F172A;

    padding:18px 0;

    position:sticky;

    top:0;

    z-index:999;

    box-shadow:0 10px 30px rgba(0,0,0,.15);

}

.safra-navbar .container{

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.safra-navbar .logo{

    color:white;

    font-size:28px;

    font-weight:700;

}

.safra-navbar .logo i{

    color:#22C55E;

    margin-right:8px;

}

.safra-navbar .logo span{

    color:#22C55E;

}

.safra-navbar .menu{

    display:flex;

    gap:30px;

}

.safra-navbar .menu a{

    color:white;

    text-decoration:none;

    font-weight:500;

    transition:.3s;

}

.safra-navbar .menu a:hover{

    color:#22C55E;

}

/* HERO */

.hero-safra{

    background:linear-gradient(135deg,#0F172A,#2563EB);

    color:white;

    padding:70px 0;

}

.hero-content{

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.badge-safra{

    display:inline-block;

    padding:10px 22px;

    background:rgba(255,255,255,.12);

    border-radius:40px;

    margin-bottom:20px;

}

.hero-safra h1{

    font-size:48px;

    font-weight:700;

}

.hero-safra p{

    margin-top:15px;

    color:#D9E7F7;

    max-width:620px;

}

.hero-icon{

    width:160px;

    height:160px;

    border-radius:50%;

    background:rgba(255,255,255,.08);

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:70px;

}

/* CONTEÚDO */

.cadastro-safra{

    padding:70px 0;

}

/* FORM */

.form-safra{

    background:white;

    border-radius:25px;

    padding:40px;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

}

.form-safra h3{

    margin-bottom:35px;

    color:#0F172A;

    font-weight:700;

}

.form-safra label{

    display:block;

    margin-bottom:8px;

    font-weight:600;

    color:#334155;

}

.form-safra .form-control,

.form-safra .form-select{

    border-radius:14px;

    padding:14px;

    border:2px solid #E2E8F0;

    transition:.3s;

}

.form-safra .form-control:focus,

.form-safra .form-select:focus{

    border-color:#22C55E;

    box-shadow:none;

}

/* BOTÕES */

.botoes-form{

    display:flex;

    justify-content:space-between;

    margin-top:30px;

}

.btn-voltar{

    background:#E2E8F0;

    color:#334155;

    padding:14px 30px;

    border-radius:15px;

    font-weight:600;

    text-decoration:none;

    transition:.3s;

}

.btn-voltar:hover{

    background:#CBD5E1;

    color:#0F172A;

}

.btn-salvar{

    border:none;

    background:linear-gradient(135deg,#2563EB,#22C55E);

    color:white;

    padding:14px 40px;

    border-radius:15px;

    font-weight:600;

    transition:.3s;

}

.btn-salvar:hover{

    transform:translateY(-3px);

    box-shadow:0 15px 35px rgba(37,99,235,.30);

}


/*==================================================
            PAINEL LATERAL
==================================================*/

.resumo-safra{

    background:white;

    border-radius:25px;

    padding:35px;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

    position:sticky;

    top:100px;

}

.resumo-topo{

    display:flex;

    align-items:center;

    gap:12px;

    margin-bottom:30px;

}

.resumo-topo i{

    width:55px;

    height:55px;

    background:linear-gradient(135deg,#2563EB,#22C55E);

    color:white;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:22px;

}

.resumo-item{

    display:flex;

    justify-content:space-between;

    padding:15px 0;

    border-bottom:1px solid #E2E8F0;

}

.resumo-item span{

    color:#64748B;

}

.resumo-item strong{

    color:#0F172A;

}

.status-box{

    display:flex;

    gap:15px;

    margin-top:30px;

    padding:20px;

    border-radius:18px;

    background:#F8FAFC;

}

.status-box i{

    color:#22C55E;

    font-size:30px;

}

.info-extra{

    margin-top:30px;

    padding:20px;

    border-radius:18px;

    background:linear-gradient(135deg,#2563EB,#22C55E);

    color:white;

}

.info-extra div{

    display:flex;

    gap:15px;

}

.info-extra i{

    font-size:25px;

}

.footer-safra{

    background:#0F172A;

    color:white;

    padding:30px;

    text-align:center;

    margin-top:80px;

}

/*==================================================
            RESPONSIVO
==================================================*/

@media(max-width:991px){

.hero-content{

    flex-direction:column;

    text-align:center;

    gap:40px;

}

.hero-safra h1{

    font-size:36px;

}

.hero-icon{

    width:120px;

    height:120px;

    font-size:50px;

}

.resumo-safra{

    position:relative;

    top:0;

    margin-top:35px;

}

}

@media(max-width:768px){

.safra-navbar .container{

    flex-direction:column;

    gap:18px;

}

.safra-navbar .menu{

    flex-wrap:wrap;

    justify-content:center;

    gap:15px;

}

.form-safra{

    padding:25px;

}

.botoes-form{

    flex-direction:column;

    gap:15px;

}

.btn-voltar,

.btn-salvar{

    width:100%;

    text-align:center;

}

.hero-safra{

    padding:50px 0;

}

.hero-safra h1{

    font-size:30px;

}

}

/*==================================================
                PERFIL - PARTE 1
==================================================*/

.profile-page{
    margin-top:30px;
}

.profile-content{
    display:grid;
    grid-template-columns:320px 1fr;
    gap:30px;
    margin-top:30px;
    align-items:flex-start;
}

.profile-left,
.profile-right{
    display:flex;
    flex-direction:column;
    gap:25px;
}

.profile-card{
    background:#fff;
    border-radius:20px;
    padding:30px;
    box-shadow:0 12px 30px rgba(0,0,0,.06);
}

.profile-card h3{
    color:var(--escuro);
    font-size:24px;
    font-weight:700;
    margin-bottom:25px;
}

/*==========================
        FOTO
===========================*/

.profile-photo-area{
    display:flex;
    flex-direction:column;
    align-items:center;
}

.profile-photo{
    width:170px;
    height:170px;
    border-radius:50%;
    object-fit:cover;
    border:5px solid var(--verde);
    margin-bottom:25px;
    box-shadow:0 10px 30px rgba(34,197,94,.20);
}

.btn-profile-photo{
    background:linear-gradient(90deg,var(--azul),var(--verde));
    color:#fff;
    border:none;
    border-radius:12px;
    padding:14px 22px;
    font-weight:600;
    cursor:pointer;
    transition:.35s;
}

.btn-profile-photo:hover{
    transform:translateY(-3px);
    box-shadow:0 10px 25px rgba(37,99,235,.25);
}

/*==========================
    INFO DA CONTA
===========================*/

.profile-info{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.info-item{
    padding:15px;
    background:#F8FAFC;
    border-radius:12px;
    border-left:5px solid var(--verde);
}

.info-item span{
    display:block;
    color:var(--cinza);
    font-size:13px;
    margin-bottom:4px;
}

.info-item strong{
    color:var(--escuro);
    font-size:16px;
}

.status-active{
    color:var(--verde) !important;
}

/*==========================
        GRID
===========================*/

.profile-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:22px;
}

.form-group{
    display:flex;
    flex-direction:column;
}

.form-group label{
    font-weight:600;
    color:var(--escuro);
    margin-bottom:8px;
}

/*==================================================
            PERFIL - PARTE 2
==================================================*/

/*==========================
        INPUTS
===========================*/

.profile-card .form-control{
    height:52px;
    border:1px solid #E2E8F0;
    border-radius:12px;
    background:#fff;
    color:var(--escuro);
    padding:0 16px;
    font-size:15px;
    transition:.3s;
    box-shadow:none;
}

.profile-card textarea.form-control{
    min-height:120px;
    padding:15px;
    resize:none;
}

.profile-card .form-control:focus{
    border-color:var(--verde);
    box-shadow:0 0 0 4px rgba(34,197,94,.15);
}

.profile-card select.form-control{
    cursor:pointer;
}

/*==========================
        CHECKBOXES
===========================*/

.profile-options{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.profile-options label{
    display:flex;
    align-items:center;
    gap:12px;
    font-size:16px;
    color:var(--escuro);
    cursor:pointer;
    padding:14px 18px;
    border-radius:12px;
    transition:.3s;
    background:#F8FAFC;
}

.profile-options label:hover{
    background:#EEF6FF;
}

.profile-options input[type="checkbox"]{
    width:18px;
    height:18px;
    accent-color:var(--verde);
    cursor:pointer;
}

/*==========================
        BOTÕES
===========================*/

.profile-actions{
    display:flex;
    justify-content:flex-end;
    gap:18px;
    margin-top:10px;
}

.btn-profile-cancel{
    border:none;
    background:#E2E8F0;
    color:var(--escuro);
    padding:14px 28px;
    border-radius:12px;
    font-weight:600;
    cursor:pointer;
    transition:.3s;
}

.btn-profile-cancel:hover{
    background:#CBD5E1;
    transform:translateY(-2px);
}

.btn-profile-save{
    border:none;
    background:linear-gradient(90deg,var(--azul),var(--verde));
    color:#fff;
    padding:14px 28px;
    border-radius:12px;
    font-weight:600;
    cursor:pointer;
    transition:.35s;
}

.btn-profile-save i{
    margin-right:8px;
}

.btn-profile-save:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 25px rgba(37,99,235,.25);
}

/*==========================
      ANIMAÇÕES
===========================*/

.profile-card{
    transition:.35s;
}

.profile-card:hover{
    transform:translateY(-4px);
    box-shadow:0 18px 35px rgba(0,0,0,.08);
}

/*==========================
    RESPONSIVIDADE
===========================*/

@media (max-width:992px){

    .profile-content{
        grid-template-columns:1fr;
    }

    .profile-left{
        order:1;
    }

    .profile-right{
        order:2;
    }

    .profile-photo{
        width:150px;
        height:150px;
    }

}

@media (max-width:768px){

    .profile-grid{
        grid-template-columns:1fr;
    }

    .profile-card{
        padding:22px;
    }

    .profile-actions{
        flex-direction:column-reverse;
    }

    .btn-profile-save,
    .btn-profile-cancel{
        width:100%;
    }

    .profile-photo{
        width:130px;
        height:130px;
    }

    .topbar{
        flex-direction:column;
        gap:20px;
        align-items:flex-start;
    }

}

@media (max-width:480px){

    .profile-card h3{
        font-size:20px;
    }

    .profile-page{
        margin-top:20px;
    }

    .info-item{
        padding:12px;
    }

    .profile-options label{
        font-size:14px;
    }

}


/* ======================================
   MINHAS PROPRIEDADES
====================================== */

.propriedades-page {
    padding: 30px;
}

.propriedades-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}

.propriedades-header h1 {
    margin: 0;
    font-size: 28px;
}

.propriedades-header h1 i {
    margin-right: 10px;
}

.propriedades-header p {
    margin-top: 8px;
    color: #777;
}

.btn-nova-propriedade {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 18px;
    background: #2e7d32;
    color: white;
    text-decoration: none;
    border: none;
    border-radius: 8px;
    cursor: pointer;
}

.btn-nova-propriedade:hover {
    color: white;
    background: #256628;
}


/* GRID */

.propriedades-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 24px;
}


/* CARD */

.propriedade-card {
    background: white;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 4px 18px rgba(0, 0, 0, .08);
    transition: .2s;
}

.propriedade-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, .12);
}


/* TOPO */

.propriedade-card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    background: #f5f8f5;
}

.propriedade-icon {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #2e7d32;
    color: white;
    font-size: 20px;
}

.propriedade-status {
    font-size: 13px;
    color: #2e7d32;
}

.propriedade-status i {
    font-size: 8px;
    margin-right: 4px;
}


/* CORPO */

.propriedade-card-body {
    padding: 20px;
}

.propriedade-card-body h3 {
    margin-bottom: 8px;
    font-size: 21px;
}

.localizacao {
    color: #777;
    margin-bottom: 20px;
}

.localizacao i {
    margin-right: 5px;
}


/* INFORMAÇÕES */

.propriedade-info {
    display: flex;
    gap: 35px;
}

.propriedade-info div {
    display: flex;
    flex-direction: column;
}

.propriedade-info span {
    font-size: 12px;
    color: #888;
}

.propriedade-info strong {
    font-size: 16px;
}


/* RODAPÉ */

.propriedade-card-footer {
    padding: 15px 20px 20px;
}

.btn-monitoramento {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 11px;
    border-radius: 8px;
    background: #2e7d32;
    color: white;
    text-decoration: none;
}

.btn-monitoramento:hover {
    background: #256628;
    color: white;
}

.btn-monitoramento .fa-arrow-right {
    margin-left: auto;
}


/* SEM PROPRIEDADES */

.sem-propriedades {
    grid-column: 1 / -1;
    text-align: center;
    padding: 70px 20px;
    background: white;
    border-radius: 14px;
}

.sem-propriedades > i {
    font-size: 55px;
    margin-bottom: 20px;
    color: #2e7d32;
}

.sem-propriedades h3 {
    margin-bottom: 10px;
}

.sem-propriedades p {
    color: #777;
    margin-bottom: 25px;
}

.propriedades-loading {
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px;
    color: #777;
}

.propriedades-loading i {
    margin-right: 8px;
}


/* RESPONSIVO */

@media (max-width: 768px) {

    .propriedades-page {
        padding: 20px;
    }

    .propriedades-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

}

/* ======================================
   BOTÃO EXCLUIR PROPRIEDADE
====================================== */

.propriedade-card-footer {
    display: flex;
    gap: 10px;
    align-items: center;
}

.btn-monitoramento {
    flex: 1;
}

.btn-excluir {
    border: none;
    background: #dc3545;
    color: white;
    padding: 10px 14px;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
    transition: 0.2s;
}

.btn-excluir:hover {
    background: #bb2d3b;
}


/* ==========================================
   AGRORISK - CADASTRO DE SAFRAS
========================================== */

.safra-body .safra-navbar {
    position: relative;
    top: auto;
    padding: 11px 0;
}

.safra-body .safra-navbar .logo {
    font-size: 23px;
    line-height: 1.2;
}

.safra-body .hero-safra {
    padding: 40px 0;
}

.safra-body .hero-safra h1 {
    font-size: clamp(28px, 3vw, 38px);
}

.safra-body .hero-icon {
    width: 105px;
    height: 105px;
    font-size: 45px;
}

.safra-body .cadastro-safra {
    padding: 40px 0;
}

.safra-body .form-safra {
    padding: 30px;
    border-radius: 20px;
}

.safra-body .form-safra h3 {
    margin-bottom: 25px;
}

.safra-body #colheita {
    background: #f0fdf4;
    color: #166534;
    font-weight: 700;
    cursor: default;
}

.safra-body #avisoEstimativa {
    line-height: 1.6;
    border-radius: 12px;
}

.safra-body .form-safra details {
    padding: 17px;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
}

.safra-body .form-safra summary {
    cursor: pointer;
    color: #334155;
}

.safra-body #mensagemSafra[hidden] {
    display: none;
}

.safra-body .resumo-safra {
    border-radius: 20px;
}

@media (max-width: 768px) {

    .safra-body .safra-navbar .container {
        flex-wrap: wrap;
        gap: 12px;
    }

    .safra-body .safra-navbar .menu {
        flex-wrap: wrap;
        gap: 12px;
    }

    .safra-body .hero-icon {
        display: none;
    }

    .safra-body .form-safra {
        padding: 22px;
    }
}


/* AGRORISK - gráfico de previsão climática no monitoramento */
.monitoramento-body .grafico-clima-visualizacao {
    position: relative;
    width: 100%;
    height: 310px;
}
.monitoramento-body .grafico-clima-visualizacao[hidden] {
    display: none;
}
.monitoramento-body .grafico-clima-status {
    color: #475569;
    line-height: 1.5;
    font-size: 0.93rem;
}
@media (max-width: 575px) {
    .monitoramento-body .grafico-clima-visualizacao {
        height: 290px;
    }
}
