/* =====================================================
   TotaVita
   Bootstrap 5 Theme
===================================================== */
:root{
    --sidebar:#1e293b;
    --sidebar-hover:#334155;
    --primary:#2563eb;
    --background:#f5f7fa;
    --border:#e2e8f0;
}

/* =====================================================
   BODY
===================================================== */
html,
body{
    height:100%;
}
body{
    background:var(--background);
    overflow-x:hidden;
}
.layout{
    display:flex;
    min-height:calc(100vh - 70px);
}
aside{
    width:260px;
    flex-shrink:0;
}
main{
    flex:1;
}

/* =====================================================
   HEADER
===================================================== */
.navbar{
    height:70px;
    z-index:1000;
}
.navbar-brand{
    color:var(--primary);
    font-weight:700;
}
.nav-link{
    transition:.2s;
}
.nav-link:hover{
    color:var(--primary);
}

/* =====================================================
   SIDEBAR
===================================================== */
aside{
    width:260px;
    background:var(--sidebar);
    display:flex;
    flex-direction:column;
    flex-shrink:0;
}
.list-group{
    border-radius:0;
}
.list-group-item{
    background:transparent !important;
    color:#fff !important;
    border:none !important;
    border-radius:10px;
    margin-bottom:5px;
    transition:.25s;
}
.list-group-item:hover{
    background:var(--sidebar-hover) !important;
}
.list-group-item.active{
    background:var(--primary) !important;
}

/* =====================================================
   MAIN
===================================================== */
main{
    background:var(--background);
    min-height:calc(100vh - 70px);
}

/* =====================================================
   CARDS
===================================================== */
.card{
    border:none;
    border-radius:18px;
    transition:.25s;
}
.card:hover{
    transform:translateY(-4px);
    box-shadow:0 .5rem 1rem rgba(0,0,0,.15);
}
.card-title{
    font-weight:600;
}
.card-footer{
    background:#fff;
}

/* =====================================================
   BUTTONS
===================================================== */
.btn{
    border-radius:10px;
}
.btn-primary{
    background:var(--primary);
    border-color:var(--primary);
}
.btn-primary:hover{
    background:#1d4ed8;
    border-color:#1d4ed8;
}

/* =====================================================
   BADGES
===================================================== */
.badge{
    font-weight:500;
}

/* =====================================================
   FOOTER
===================================================== */
footer{
    background:#fff;
    border-top:1px solid var(--border);
}

/* =====================================================
   DROPDOWN
===================================================== */
.dropdown-menu{
    border:none;
    box-shadow:0 .5rem 1rem rgba(0,0,0,.15);
}

/* =====================================================
   TABLES
===================================================== */
.table{
    background:#fff;
}

/* =====================================================
   FORMS
===================================================== */
.form-control{
    border-radius:10px;
}
.form-select{
    border-radius:10px;
}

/* =====================================================
   IMAGES
===================================================== */
img{
    max-width:100%;
}

/* =====================================================
   SCROLLBAR
===================================================== */
::-webkit-scrollbar{
    width:10px;
}
::-webkit-scrollbar-track{
    background:#f1f1f1;
}

::-webkit-scrollbar-thumb{
    background:#b8b8b8;
    border-radius:10px;
}
::-webkit-scrollbar-thumb:hover{
    background:#888;
}

/* =====================================================
   MOBILE
===================================================== */
@media (max-width:992px){
    aside{
        width:100%;
        min-height:auto;
    }
    .d-flex{
        flex-direction:column;
    }
}
@media (max-width:768px){
    .card{
        margin-bottom:20px;
    }
    .navbar-brand{
        font-size:1.2rem;
    }
}
#errorBlock {
    display: none;
}