body {
    background-color: #121212;
    color: #e0e0e0;
    font-family: Arial, sans-serif;
}

/* Sidebar */
.sidebar {
    background-color: #1a1a1a;
    width: 220px;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    padding: 20px;
}

    .sidebar a {
        color: #cccccc;
        display: block;
        padding: 8px 10px;
        margin-bottom: 5px;
        text-decoration: none;
        border-radius: 5px;
        transition: background-color 0.2s ease, color 0.2s ease, padding-left 0.2s ease;
    }

        .sidebar a:hover {
            background-color: #333333;
            color: #ffffff;
            padding-left: 15px;
        }

    .sidebar h4 {
        color: #ffffff;
    }

/* Main content */
.main-content {
    margin-left: 220px;
    padding: 20px;
}

/* Cards */
.card {
    background-color: #1e1e1e;
    color: #e0e0e0;
    border: 1px solid #333333;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

    .card:hover {
        transform: translateY(-4px);
        box-shadow: 0 6px 14px rgba(0, 0, 0, 0.5);
        border-color: #6699ff;
    }

/* Tables */
.table {
    background-color: #1e1e1e;
    color: #e0e0e0;
}

    .table th {
        background-color: #2a2a2a;
        color: #ffffff;
    }

    .table td, .table th {
        border-color: #333333;
    }

    .table tbody tr {
        transition: background-color 0.15s ease;
    }

        .table tbody tr:hover {
            background-color: #292929;
        }

/* Forms */
.form-control, .form-select {
    background-color: #1e1e1e;
    color: #e0e0e0;
    border: 1px solid #333333;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

    .form-control:focus, .form-select:focus {
        border-color: #6699ff;
        box-shadow: 0 0 5px rgba(102, 153, 255, 0.5);
        background-color: #1e1e1e;
        color: #ffffff;
    }

/* Buttons */
.btn {
    transition: transform 0.15s ease, opacity 0.15s ease;
}

    .btn:hover {
        transform: scale(1.03);
        opacity: 0.9;
    }

/* Links */
a {
    color: #6699ff;
    transition: color 0.2s ease;
}

    a:hover {
        color: #99bbff;
    }


@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.main-content {
    animation: fadeIn 0.4s ease;
}


@media (max-width: 768px) {
    .sidebar {
        width: 100%;
        height: auto;
        position: relative;
    }

    .main-content {
        margin-left: 0;
    }
}

.table-responsive-wrapper {
    overflow-x: auto;
    width: 100%;
}

.menu-toggle-btn {
    display: none;
    background-color: #1e1e1e;
    color: #ffffff;
    border: 1px solid #333333;
    padding: 8px 14px;
    border-radius: 5px;
    margin-bottom: 15px;
    cursor: pointer;
}

/* Mobile styles */
@media (max-width: 768px) {
    .sidebar {
        width: 220px;
        height: 100vh;
        position: fixed;
        left: -220px;
        top: 0;
        transition: left 0.3s ease;
        z-index: 1000;
    }

        .sidebar.sidebar-open {
            left: 0;
        }

    .main-content {
        margin-left: 0;
        padding: 15px;
    }

    .menu-toggle-btn {
        display: inline-block;
    }

    
    .col-md-6 {
        width: 100%;
    }
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
select:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px #1e1e1e inset !important;
    -webkit-text-fill-color: #e0e0e0 !important;
    caret-color: #e0e0e0;
    transition: background-color 5000s ease-in-out 0s;
}
input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px #1e1e1e inset;
    -webkit-text-fill-color: #e0e0e0;
}