@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap');

html {
    font-size: 1rem;
    position: relative;
    min-height: 100%;
}

@media (min-width: 992px) {
    html {
        max-width: 80%;
        font-size: 0.8rem;
    }
}

    .sidebar-logo img {
        max-width: 100%; 
        height: auto; 
        padding: 10px;
    }

    @font-face {
        font-family: 'Inter';
        font-weight: normal;
        font-style: normal;
    }

    body {
        color: #525252;
    }

.search-form .btn {
    border: none;
    background: transparent; 
    padding: 0.375rem 0.75rem;
}
    .search-form .btn .fas {
        color: #333; 
    }

    .search-form .btn:hover {
        background: rgba(0,0,0,0.04); 
    }

    .custom-card {
        border: 1px solid #ddd;
        border-radius: 10px;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); 
        padding: 20px;
        font-family: 'Open Sans', sans-serif; 
    }

        .custom-card .card-header {
            font-weight: 600;
            padding-bottom: 10px;
            border-bottom: 1px solid #ddd;
        }

        .custom-card input[type=text]:focus, .custom-card input[type=number]:focus {
            border-color: #80bdff; 
            outline: 0;
            box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);
        }

        .custom-card .btn-success {
            padding: 10px 20px;
            font-weight: 500;
        }

            .custom-card .btn-success:hover {
                background-color: #218838; 
            }

        .custom-card .form-group {
            margin-bottom: 1.5rem; 
        }

            .custom-card .form-group:last-child {
                text-align: right; 
            }
       
       /* .custom-card:hover {
            background-color: #fafafa; 
            transform: scale(1.02);
            transition: background-color 0.3s, transform 0.2s;
        }*/

    input.form-control:invalid {
        border-color: red !important;
        box-shadow: 0 0 0 0.2rem rgba(255, 0, 0, 0.25) !important; 
    }

    input:invalid::-webkit-validation-bubble {
        display: none;
    }

    .quick-action-button {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 70px;
    }

    .custom-button {
        background-color: #fff;
        border: 2px solid transparent;
        border-radius: 10px;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
        padding: 10px 20px;
        font-size: 1rem;
        cursor: pointer;
        transition: background-color 0.3s, transform 0.2s, border-color 0.2s;
    }

        .custom-button:hover {
            background-color: #007BFF;
            color: #fff;
            border-color: #007BFF;
            transform: scale(1.05);
        }

        .custom-button:active {
            transform: scale(0.95);
        }

    .card-link {
        color: inherit;
        text-decoration: none;
    }

        .card-link:hover,
        .card-link:focus {
            color: inherit;
            text-decoration: none;
        }

    .sidebar {
        background-color: #f4f4f4; 
        min-height: 100vh; 
    }

        .sidebar h2 {
            color: #333; 
            padding-left: 15px;
        }

        .sidebar ul {
            list-style-type: none;
            padding: 0;
        }

            .sidebar ul li {
                padding: 10px;
                border-left: 3px solid transparent;
                transition: all 0.3s;
            }

                .sidebar ul li:hover {
                    background-color: #ddd; 
                    border-left: 3px solid #51B667; 
                    cursor: pointer;
                }

                .sidebar ul li.active {
                    border-left: 3px solid #51B667; 
                }

    @media (max-width: 768px) {
        .sidebar {
            padding: 5px;
        }
    }

    .sidebar i {
        margin-right: 8px;
        color: #525252;
    }

    .sidebar .nav-header {
        font-weight: bold;
        color: #333;
        padding: 15px;
        margin: 0;
        font-size: 1.1em;
    }

    .nav-link {
        color: #525252;
        font-weight: 750;
        padding: 0.75em 1em;
        border-radius: 0.25rem;
        margin: 0.125em 0;
        transition: background-color 0.2s ease-in-out;
    }

        .nav-link:hover,
        .nav-link:focus {
            text-decoration: none;
        }

        .nav-link.active {
            background-color: #e2e6ea;
            color: #495057;
            font-weight: bold;
        }

    .nav-item i {
        min-width: 2em;
    }

   /* .nav-item:hover {
        background-color: red;
    }
*/
    .filter-form-container {
        margin-bottom: 1rem;
        padding: 1rem;
        background-color: #fff;
        border-radius: 0.375rem;
        box-shadow: 0 0.46875rem 2.1875rem rgb(90 97 105 / 10%);
    }

    .table {
        width: 100%;
        margin-bottom: 1rem;
        color: #212529;
    }

        .table th {
            padding: 0.75rem;
            vertical-align: top;
        }

        .table td {
            padding: 0.75rem;
            vertical-align: top;
            border-top: 1px solid #dee2e6;
        }

    .table-hover tbody tr:hover {
        color: #212529;
        background-color: rgba(0, 0, 0, 0.075);
    }

    .table-bordered {
        border-collapse: collapse;
        width: 100%;
    }

        .table-bordered th,
        .table-bordered td {
            border: 1px solid #ddd;
            padding: 8px;
        }

        .table-bordered thead th {
            background-color: #f2f2f2;
            border-bottom: 2px solid #ddd;
        }

    .custom-table {
        border: 1px solid #dee2e6;
        border-radius: 0.25rem;
        box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
        overflow: hidden;
    }

    @media screen and (max-width: 768px) {
        .filter-form-container {
            flex-direction: column;
        }

            .filter-form-container .col {
                width: 100%;
                max-width: 100%;
                flex: 0 0 100%;
                margin-bottom: 0.5rem;
            }

        .new-customer-btn-container {
            display: flex;
            justify-content: center;
        }
    }

    .action-icons {
        justify-content: center;
        align-items: center;
    }

    .action-icon {
        margin: 0 0.2rem;
        transition: background-color 0.3s;
    }

        .action-icon:hover {
            background-color: #f8f9fa;
        }

        .action-icon.delete {
            color: #dc3545;
        }

    .btn-record-add {
        background-color: #FFFFFF;
        color: black;
        border: 2px;
        box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
        padding: 8px 15px;
        border-radius: 5px;
    }

        .btn-record-add i {
            margin-right: 10px;
            color: #51B667
        }

    .is-valid {
        border-color: #28a745;
    }

    .is-invalid {
        border-color: #dc3545;
    }

    .form-group {
        margin-bottom: 10px;
    }

    .card-header {
        background: none;
    }

    .status-button {
        border: none;
        cursor: pointer;
    }

    .status-unpaid {
        color: #dc3545;
    }

    .status-paid {
        color: #28a745;
    }

    .status-incomplete {
        color: #ffc107;
    }

    .status-paid {
        color: white;
        background-color: #28a745; 
    }

    .status-unpaid {
        color: white;
        background-color: #dc3545; 
    }

    .status-incomplete {
        color: white;
        background-color: #ffc107; 
    }
    .status-button {
        display: inline-block;
        width: auto;
        border: none;
        padding: 0.375rem 0.75rem;
        border-radius: 0.25rem;
        cursor: pointer;
        font-size: 0.875rem;
        line-height: 1.5;
    }
    #invoicesTable_wrapper .row:first-of-type {
        margin-top: 1rem;
    }

    .btn-fix-payment {
        color: #fff;
        background-color: #007bff; 
        border-color: #007bff; 
        border-radius: 5px; 
        padding: .375rem .75rem; 
        line-height: 1; 
        border: 1px solid transparent; 
        font-size: 0.75rem; 
    }

        .btn-fix-payment:hover {
            background-color: #0056b3; 
            border-color: #0056b3; 
        }

    .btn-complete-payment {
        color: #fff;
        background-color: #28a745; 
        border-color: #28a745; 
        border-radius: 5px;
        padding: .375rem .75rem; 
        line-height: 1; 
        border: 1px solid transparent; 
        font-size: 0.75rem; 
    }

        .btn-complete-payment:hover {
            background-color: #218838; 
            border-color: #1e7e34; 
        }

    .btn-paid {
        color: #fff;
        background-color: #28a745; 
        border-color: #28a745; 
        border-radius: 5px; 
        padding: .375rem .75rem; 
        line-height: 1; 
        border: 1px solid transparent; 
        font-size: 0.75rem; 
        cursor: default;
        opacity: 0.7; 
    }

    .btn-click-effect:active {
        transform: scale(0.95);
        transition: transform 0.1s; 
    }

    .fa, .fa-solid, .fas {
        color: #525252;
    }

    .field-validation-valid {
        display: none; 
    }

    .field-validation-error {
        color: #ff0000;
    }

    .modal-body {
        padding-left: 50px; 
        padding-right: 50px; 
    }

/* Table Styling */
.custom-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1rem;
    background-color: white;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

    .custom-table thead th {
        background-color: #007bff;
        color: white;
        padding: 12px;
        text-align: left;
        font-size: 14px;
        font-weight: bold;
    }

    .custom-table tbody td {
        padding: 12px;
        border-bottom: 1px solid #dee2e6;
    }

    .custom-table tbody tr:hover {
        background-color: #f1f1f1;
    }