html,
body{
    width:100%;
    min-height:100%;
    background:#fff;
    font-family:'Segoe UI', Tahoma, sans-serif;
    color:#2d3748;
    overflow-x:hidden;
}

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

.fondo{
    background:
            linear-gradient(
                    rgba(255,255,255,.33),
                    rgba(255,255,255,.33)
            ),
            url('/assets/images/area5-fondo.jpg') center center no-repeat;

    background-size:cover;
    background-position:center center;

    width:100%;
    min-height:385px;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:22px 20px;
}

.hero-wrapper{
    width:100%;
    max-width:1060px;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:70px;
}

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

.login-box{
    width:340px;

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

    border:1px solid #dfe6ee;
    border-radius:18px;

    padding:22px 24px 18px 24px;

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

    backdrop-filter:blur(8px);

    position:relative;
    z-index:2;
}

.hero-title{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    margin-bottom:18px;
}

.hero-title h2{
    font-size:30px;
    font-weight:800;
    color:#16863c;
    margin:0;
    letter-spacing:2px;
    line-height:1;
}

.hero-title .hero-line{
    width:145px;
    height:2px;
    background:rgba(0,0,0,.22);
    margin:8px auto 6px auto;
}

.hero-title span{
    display:block;
    width:100%;
    text-align:center;
    font-size:13px;
    font-weight:600;
    color:#111;
    line-height:1.2;
}

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

.input-group{
    margin-bottom:10px !important;
}

.input-group-text{
    background:#f7f8fa;
    border:1px solid #d7dee7;
    font-weight:700;
    color:#343a40;
    min-width:105px;
    font-size:13px;
    height:37px;
    display:flex;
    align-items:center;
}

.form-control,
.custom-select{
    border:1px solid #d7dee7;
    height:37px;
    font-size:13px;
    box-shadow:none !important;
    border-radius:0 6px 6px 0 !important;
}

.form-control:focus,
.custom-select:focus{
    border-color:#198754;
    box-shadow:0 0 0 3px rgba(25,135,84,.10) !important;
}

/* =========================
   BUTTON
========================= */

.btn-success{
    height:39px;
    font-size:13px;
    font-weight:800;
    border-radius:999px !important;
    transition:.2s ease;
    box-shadow:0 5px 14px rgba(25,135,84,.22);
    letter-spacing:.7px;
    background:#1c9b3f;
    border-color:#1c9b3f;
}

.btn-success:hover{
    transform:translateY(-1px);
    background:#16863c;
    border-color:#16863c;
}

/* =========================
   LINKS
========================= */

.recover-link{
    text-align:center;
    margin-top:13px;
    line-height:1;
}

.recover-link a{
    color:#16863c;
    font-size:13px;
    text-decoration:none;
    font-weight:500;
}

.recover-link a:hover{
    color:#0f6d2d;
}

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

.hero-side{
    flex:1;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:left;
    margin-top:12px;
    min-height:310px;
}

.hero-side img{
    width:360px;
    max-width:100%;
    height:auto;
    margin-top:0;
    margin-left:0;
    filter:drop-shadow(0 12px 26px rgba(0,0,0,.16));
}

.hero-side-only-image{
    align-items:center;
    justify-content:center;
}

/* =========================
   CONTENT
========================= */

.content-wrapper{
    padding:22px 20px 30px 20px;
    background:#fff;
    min-height:calc(100vh - 385px);
}

.content-wrapper .container{
    max-width:1180px;
    width:100%;
}

/* =========================
   BUTTON LINKS
========================= */

.quick-links{
    position:relative;
    z-index:3;
    margin-bottom:12px;
}

.borderless td,
.borderless th{
    border:none;
    text-align:center;
    padding:6px;
}

.quick-btn{
    height:36px !important;
    border-radius:7px !important;
    border:1px solid #d6dde6 !important;

    background:#fff !important;

    font-size:13px !important;
    font-weight:800 !important;

    color:#16863c !important;

    transition:.2s ease;
    box-shadow:none !important;
}

.quick-btn:hover{
    background:#f8fafc !important;
    transform:translateY(-1px);
}

/* =========================
   SECTION TITLE
========================= */

.section-title{
    margin-top:8px;
    margin-bottom:8px;
}

.section-title h5{
    font-size:14px;
    font-weight:500;
    color:#111;
    margin:0;
}

.section-title span{
    color:#111;
}

/* =========================
   AREAS
========================= */

.area-item{
    padding:12px 4px 16px 4px;
    height:100%;
}

.area-icon{
    width:58px;
    height:58px;
    border-radius:50%;
    background:#f0f0f0;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:12px;
}

.area-icon img{
    width:38px !important;
    height:auto;
    margin:0;
    opacity:.75;
}

.area-item h5{
    font-size:17px;
    font-weight:800;
    color:#111;
    margin-bottom:8px;
}

.area-item p{
    font-size:13px;
    color:#4b5563;
    line-height:1.55;
    margin:0;
    max-width:310px;
}

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

.footer-info{
    font-size:12px;
    color:#4b5563;
    line-height:1.55;
    margin-top:8px;
}

.footer-info p{
    margin-bottom:8px;
}

hr{
    margin-top:12px;
    margin-bottom:12px;
    border-top:1px solid #d7dce2;
}

/* =========================
   MODAL
========================= */

.modal-content{
    border-radius:16px;
    border:none;
    box-shadow:0 20px 40px rgba(0,0,0,.12);
}

.modal-header{
    border-bottom:1px solid #eef2f7;
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width: 1200px){

    .hero-wrapper{
        max-width:980px;
        gap:45px;
    }

    .hero-side img{
        width:330px;
    }
}

@media (max-width: 992px){

    .fondo{
        min-height:auto;
        padding:30px 16px;
    }

    .hero-wrapper{
        flex-direction:column;
        text-align:center;
        gap:22px;
    }

    .hero-side{
        align-items:center;
        min-height:auto;
        margin-top:0;
    }

    .hero-side img{
        width:300px;
        margin-left:0;
    }

    .login-box{
        width:100%;
        max-width:360px;
    }
}

@media (max-width: 768px){

    .fondo{
        min-height:100vh;
        align-items:center;
    }

    .hero-side{
        display:none;
    }

    .content-wrapper{
        padding:18px 14px 28px 14px;
    }

    .quick-btn{
        margin-bottom:8px;
    }

    .borderless tr,
    .borderless th{
        display:block;
        width:100%;
    }

    .area-item{
        text-align:center;
    }

    .area-icon{
        margin-left:auto;
        margin-right:auto;
    }

    .area-item p{
        margin-left:auto;
        margin-right:auto;
    }

    .login-box{
        width:100%;
        max-width:340px;
        padding:22px 20px 18px 20px;
    }
}