:root{
    --color-white: #ffffff;
    --color-light: #f0eff5;
    --color-gray-light: #86848c;
    --color-gray-dark: #56555e;
    --color-dark: #27282f;
    --color-primary: rgb(71, 7, 234);
    --color-success: rgb(34, 202, 75);
    --color-danger: rgb(255, 67, 54);
    --color-warning: rgb(234, 181, 7);
    --color-purple: rgb(160, 99, 245);
    --color-red: rgb(255, 0, 0);
    --blue-van:rgb(0, 0, 255);
    
    --color-primary-light: rgba(71, 7, 234, 0.2);
    --color-success-light: rgba(34, 202, 75, 0.2);
    --color-danger-light: rgba(255, 67, 54, 0.2);
    --color-purple-light: rgba(160, 99, 245, 0.2);
    
    --card-padding: 1.6rem;
    --padding-1: 1rem;
    --padding-2: 8px;
    
    --card-border-radius: 1.6rem;
    --border-radius-1: 1rem;
    --border-radius-2: 6px;
    }
    
    /* after end, when js change theme */
    .dark-theme {
        --color-white: #131316;
        --color-light: #23232a;
        --color-dark: #ddd;
        --color-gray-dark: #adacb5;
    }
    
    *{
        margin: 0;
        padding: 0;
        outline: 0;
        bottom: 0;
        appearance: 0;
        text-decoration: none;
        list-style: none;
        box-sizing: border-box;
        font-family: 'Poppins', sans-serif;
    }
    html{
        font-size: 12px;
    }
    body{
        background: var(--color-light);
        min-height: 100vh;
        color: var(--color-dark);
    }
    img{
        width: 100%;
    }
    h1{
        font-size: 2.2rem;
    }
    h2{
        font-size: 1.5rem;
    }
    h3{
        font-size: 1.2rem;
    }
    h4{
        font-size: 1rem;
    }
    h5{
        font-size: 0.86rem;
        font-weight: 500;
    }
    h6{
        font-size: 0.6rem;
    }
    p{
        font-size: 0.86rem;
        color: var(--color-gray-dark);
    }
    small{
        font-weight: 300;
        font-size: 0.77rem;
    }
    .text-muted{
        color: var(--color-gray-light);
    }
    .primary{
        color: var(--color-primary);
    }
    .danger{
        color: var(--color-danger);
    }
    .success{
        color: var(--color-success);
    }
    .purple{
        color: var(--color-purple);
    }
    
    .bg-primary{
        background: var(--color-primary);
        box-shadow: 0 0.8rem 0.8rem var(--color-primary-light);
    }
    .bg-danger{
        background: var(--color-danger);
        box-shadow: 0 0.8rem 0.8rem var(--color-danger-light);
    }
    .bg-success{
        background: var(--color-success);
        box-shadow: 0 0.8rem 0.8rem var(--color-success-light);
    }
    .bg-purple{
        background: var(--color-purple);
        box-shadow: 0 0.8rem 0.8rem var(--color-purple-light);
    }
    .bg-dark{
        background: #27282f;
        box-shadow: 0 0.8rem 0.8rem rgba(0, 0, 0, 0.2);
    }
    .bg-purple-light{
        background: var(--color-purple-light);
    }
    .bg-danger-light{
        background: var(--color-danger-light);
    }
    .bg-primary-light{
        background: var(--color-primary-light);
    }
    .bg-success-light{
        background: var(--color-success-light);
    }
    
    /* <!-- navbar --> */
    nav{
        width: 100%;
        background: var(--color-white);
        padding: 1rem 0;
    }
    nav .container{
        display: flex;
        justify-content: space-between;
        align-items: center;
        position: relative;
        width: 96%;
        margin: 0 auto;
    }
    nav img.logo {
        width: 12rem;
    }
    nav .search-bar{
        background: var(--color-light);
        padding: var(--padding-2) var(--card-padding);
        width: 32vw;
        border-radius: var(--border-radius-2);
        display: flex;
        align-items: center;
        gap: 1rem;
        color: var(--color-gray-light);
        position: absolute;
        left: 15%;
    }
    nav .search-bar input[type="search"] {
        color: var(--color-dark);
        border: none;
        width: 100%;
    }
    nav .search-bar input[type="search"]::placeholder{
        color: var(--color-gray-dark);
    }
    nav .profile-area{
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 4rem;
    }
    nav .profile-area .theme-btn{
        display: flex;
        background: var(--color-light);
        width: 5rem;
        height: 2rem;
        border-radius: var(--border-radius-2);
        cursor: pointer;
    }
    
    nav .profile-area .theme-btn span{
        width: 50%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.3rem;
    }
    nav .profile-area .theme-btn .active{
        background: var(--color-dark);
        border-radius: var(--border-radius-2);
        color: var(--color-white);
    }
    nav .profile-area .profile{
        display: flex;
        gap: 1rem;
        align-items: center;
    }
    nav .profile-area .profile-photo{
        display: block;
        width: 3rem;
        height: 3rem;
        border-radius: 50%;
        overflow: hidden;
    }
    nav .profile-area .profile span{
        cursor: pointer;
    }
    nav .profile-area button{
        border: none;
        display: none;
    }
    
    /* <!-- aside --> */
    main{
        display: grid;
        grid-template-columns: 16rem auto 30rem;
        gap: 2rem;
        width: 96%;
        margin: 1rem auto 4rem;
    }
    main aside{
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        height: 88vh;
    }
    main aside button#close-btn{
        border: none;
        /* will be show only on mobile and tablets */
        display: none;
    }
    main aside .sidebar a{
        display: flex;
        align-items: center;
        gap: 1.2rem;
        height: 4.2rem;
        color: var(--color-gray-light);
        position: relative;
    }
    main aside .sidebar a span{
        font-size: 1.7rem;
        margin-left: 3rem;
        transition: all 0.3s;
    }
    main aside .sidebar a.active{
        background: var(--color-white);
        color: var(--color-primary);
    }
    main aside .sidebar a.active::before{
        content: '';
        width: 6px;
        height: 100%;
        position: absolute;
        background: var(--color-primary);
    }
    main aside .sidebar a:hover{
        color: var(--color-primary);
    }
    main aside .sidebar a:hover span{
        margin-left: 2rem;
    }
    main aside .sidebar h4{
        font-weight: 500;
    }
    
    main aside .updates{
        background: var(--color-white);
        border-radius: var(--border-radius-1);
        text-align: center;
        padding: var(--card-padding);
    }
    main aside .updates span{
        font-style: 2.8rem;
    }
    main aside .updates h4{
        margin: 1rem 0;
    }
    main aside .updates a{
        display: block;
        width: 100%;
        background: var(--color-primary);
        color: var(--color-white);
        border-radius: var(--border-radius-1);
        padding: 0.8rem 0;
        margin-top: 2rem;
        transition: all 0.3s ease;
    
    }
    main aside .updates a:hover{
        box-shadow: 0 1rem 2rem var(--color-primary-light);
    }
    
    /* <!-- section middle --> */
    main section.middle .header{
        display: flex;
        align-items: center;
        gap: 1rem;
    }
    main section.middle .header input[type="date"]{
        padding: 0.5rem 2rem;
        border-radius: var(--border-radius-2);
        border: none;
        background: var(--color-white);
        color: var(--color-gray-dark);
    }
    main section.middle .cards{
        margin-top: 1rem;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 1.5rem;
    }
    main section.middle .cards .card{
        background: linear-gradient(#ff796f, #bd261b);
        padding: var(--card-padding);
        border-radius: var(--card-border-radius);
        color: white;
        height: 16rem;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        box-shadow: 0 2rem 3rem var(--color-danger-light);
        min-width: 22rem;
        transition: all 0.3s ease;
    }
    main section.middle .cards .card:nth-child(2){
        background: linear-gradient(#7f8191, #27282f);
        box-shadow: 0 2rem 3rem rgba(0, 0, 0, 0.2);
    }
    main section.middle .cards .card:nth-child(3){
        background: linear-gradient(#5d70ff, #5719c2);
        box-shadow: 0 2rem 3rem var(--color-primary-light)
    }
    main section.middle .cards .card:hover{
        box-shadow: none;
    }
    main section.middle .cards .card .top{
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    main section.middle .cards .card .top .left{
        display: flex;
        gap: 0.5rem;
    }
    main section.middle .cards .card .top .left h2{
        font-weight: 200;
        font-size: 1.4rem;
    }
    main section.middle .cards .card .top .left img{
        width: 2.3rem;
        height: 2.3rem;
        border: 1px solid white;
        border-radius: var(--border-radius-2);
        padding: 0.4rem;
    }
    main section.middle .cards .card .top img.right{
        width: 3.5rem;
    }
    main section.middle .cards .card .middle{
        display: flex;
        justify-content: space-between;
    }
    main section.middle .cards .card .middle .chip{
        width: 3.5rem;
    }
    main section.middle .cards .card .bottom{
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
    }
    main section.middle .cards .card .bottom .right{
        display: flex;
        gap: 2rem;
    }
    
    
    /* <!-- monthly report --> */
    main .monthly-report{
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 1rem;
        justify-content: space-between;
        margin-top: 2rem;
    }
    main .monthly-report h1{
        font-weight: 700;
        font-size: 1.8rem;
    }
    main .monthly-report .report div{
        cursor: pointer;
    }
    
    
    /* <!-- fast payment --> */
    main .fast-payment{
        margin-top: 2rem;
        display: flex;
        align-items: center;
        gap: 2rem;
    }
    main .fast-payment .badges{
        display: flex;
        gap: 1rem;
        align-items: center;
        flex-wrap: wrap;
        min-width: 100%;
    }
    main .fast-payment .badges .badge span{
        width: 7px;
        height: 7px;
        border-radius: 50%;
    }
    main .fast-payment .badges .badge{
        padding: 0.6rem var(--card-padding);
        background: var(--color-white);
        border-radius: var(--border-radius-2);
        display: flex;
        align-items: center;
        gap: 1rem;
        transition: all 0.3s ease
    }
    main .fast-payment .badges .badge:hover{
        box-shadow: 0 0 1.5rem var(--color-primary-light);
        cursor: pointer;
    }
    main .fast-payment .badges .badge:first-child span{
        display: flex;
        align-items: center;
        justify-content: center;
        height: fit-content;
        font-size: 1.5rem;
    }
    main .fast-payment .badges .badge div{
        display: flex;
        gap: 2rem;
        align-items: center;
    }
    
    /* <!-- canvas --> */
    canvas#chart{
        background: var(--color-white);
        min-width: 100%;
        margin-top: 2rem;
        border-radius: var(--card-border-radius);
        padding: var(--card-padding);
    }
    
    
    /* <!-- investments --> */
    
    main section.right .investments{
        background: var(--color-white);
        border-radius: var(--card-border-radius);
        margin-right: 1rem;
    }
    main section.right .investments img{
        width: 2.4rem;
    }
    main section.right .investments .header{
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: var(--card-padding);
        padding-bottom: 0;
    }
    main section.right .investments .header a{
        display: flex;
        align-items: center;
        color: var(--color-primary);
    }
    main section.right .investments .investment{
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: var(--card-padding);
        border-bottom: 1px solid var(--color-light);
        transition: all 0.3s ease;
    }
    main section.right .investments .investment:last-child{
        border-bottom: none;
    }
    main section.right .investments .investment:hover{
        background: var(--color-light);
        cursor: pointer;
    }
    /* <!-- recent transaction --> */
    main .recent-transactions{
        margin-top: 2rem;
        margin-right: 1rem;
    }
    main .recent-transactions img{
        width: 2.2rem;
    }
    main .recent-transactions .header{
        display: flex;
        justify-content: space-between;
        margin-bottom: 1rem;
    }
    main .recent-transactions .header a{
        display: flex;
        align-items: center;
        color: var(--color-primary);
    
    }
    main .recent-transactions .transaction{
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 1.5rem var(--card-padding);
        border-radius: var(--card-border-radius);
        transition: all 0.3s ease;
    }
    main .recent-transactions .transaction:hover{
        background: var(--color-white);
        cursor: pointer;
    }
    main .recent-transactions .transaction .service{
        display: flex;
        gap: 1rem;
    }
    main .recent-transactions .transaction .service .icon{
        padding: var(--padding-2);
        border-radius: var(--border-radius-1);
        display: flex;
        align-items: center;
    }
    main .recent-transactions .transaction .card-details{
        display: flex;
        align-items: center;
        gap: 1rem;
    }
    main .recent-transactions .transaction .card-details .card{
        display: flex;
        width: 4.6rem;
        height: 3rem;
        align-items: center;
        justify-content: center;
        border-radius: var(--border-radius-2);
    }
    
    
    /* responsive for table */
    @media screen and (max-width: 1024px){
        nav .search-bar{
            display: none;
        }
        nav .profile-area{
            gap: 2rem;
        }
        nav .profile-area button#menu-btn {
            display: inline;
            background: transparent;
            color: var(--color-dark);
        }
        main{
            grid-template-columns: 1fr;
        }
        main aside {
            position: fixed;
            top: 0;
            /* left: 0; first to the left 0, and after JS we set -100% and below we write the animation !!! */
            left: -100%;
            z-index: 3;
            background: var(--color-white);
            width: 22rem;
            height: 100%;
            box-shadow: 2rem 0 2rem var(--color-primary-light);
            /* after main aside .updates/ */
            display: none;
             /* after we write the animation !!! */
             animation: showSidebar 0.5s ease forwards;
        }
    
        @keyframes showSidebar {
            to {
                left: 0;
            }
        }
    
        main aside button#close-btn{
            display: inline-block;
            width: 3rem;
            height: 3rem;
            position: absolute;
            top: 1rem;
            right: 1rem;
            z-index: 4;
            background: transparent;
            color: var(--color-dark);
        }
        button:hover{
            cursor: pointer;
        }
        main aside .sidebar{
            margin-top: 4rem;
        }
        main aside .updates{
            display: none;
        }
        main section.middle .cards{
            grid-template-columns: 1fr 1fr;
        }
        main canvas{
            margin: 3rem 0 1rem;
        }
        main section.right .recent-transactions{
            margin-top: 3rem;
        }
    }
    
    /* responsive for mobile phones */
    
    @media screen and (max-width: 600px) {
        nav{
            width: 106%;
        }
        nav .profile-area {
            gap: 2.6rem;
        }
        nav .profile h5,
        nav .profile span {
            display: none;
        }
        main section.middle .cards{
            grid-template-columns: 1fr;
        }
        main section.middle .fast-payment{
            flex-direction: column;
            align-items: flex-start;
            margin-top: 3rem;
            gap:  1rem;
        }
        main .cards{
            margin-right: 1rem;
        }
        
    }
        
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    