@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");


body,
html {
    font-family: "Poppins", sans-serif;
    padding: 0;
    height: 100%;
}

body.no-scroll {
    overflow: hidden;
    touch-action: none;
}

:root {
    --color-primary: #000000;
    --text-primary: #000000;
}

span.required-asterisk {
    color: #ff0000;
}

.sidebar-wrap.active {
    transform: translate(0);
}

.wrapper {
    flex: 1;
    display: flex;
}

.layout {
    display: flex;
    height: 100vh;
}

.sidebar-wrap::-webkit-scrollbar {
  display: none; 
}

.sidebar-wrap {
    overflow: auto;
    width: 240px;
    background-color: #212529;
}

.content-area {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.topbar {
    height: 60px;
}

.main-content {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
}

.content-area {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.topbar {
    height: 60px;
}

.main-content {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
}

.sidebar a {
    color: white;
    padding: 12px;
    display: block;
    text-decoration: none;
}

.sidebar a i {
    margin-right: 5px;
}

.sidebar a:hover:not(.site-logo) {
    background-color: #ffffff20;
    /* Example style */
    color: #fff;
    font-weight: 600;
}

.sidebar a.active:not(.site-logo) {
    background-color: #ffffff20;
    /* Example style */
    color: #fff;
    font-weight: 600;
}

.main-content {
    flex-grow: 1;
    padding: 0 !important;
}

.site-navbar-wrap .dropdown-menu-end.show {
    top: 48px;
}

.site-datatable-wrap table tbody tr td a.site-view-bill {
    margin: 2px 0 !important;
    font-size: 12px;
}

.site-navbar-wrap .dropdown-item.active,
.site-navbar-wrap .dropdown-item:active {
    background: var(--color-primary);
}

/* Remove focus outline and shadow */
.btn:focus,
.btn:active,
.btn:focus-visible,
.btn.show,
.btn:active:focus {
    box-shadow: none !important;
    outline: none !important;
}

.btn-default , .btn-primary{
    padding: 5px 10px;
    font-size: 12px;

}

.site-cms-form-wrap .form-label {
    font-size: 14px;
    margin-bottom: 4px;
}

.font-14,
.form-select,.date-range-picker {
    font-size: 14px;
}
.p-20 {
    padding: 20px;
}
.p-15 {
    padding: 15px;
}

.p-10{
 padding: 10px;
}
.cms-dashbaord .card-header {
    font-weight: 600;
}
.cms-dashbaord .card-body {
    padding: 20px;
}
.cms-dashbaord .card{
    border-radius: 10px;
}
.cms-dashbaord .card-body .form-control,
.cms-dashbaord .card-body .select2-container--default .select2-selection--single {
    border: 1px solid #00000052 !important;
}
.cms-dashbaord .card-body input:not([type="radio"]),
.cms-dashbaord .card-body .select2-container--default .select2-selection--single,
.cms-dashbaord .card-body .select2-container--default .select2-selection--single .select2-selection__arrow
   {
    height: 38px;  
} 

.view-invoices-wrap input, .view-invoices-wrap select, .view-invoices-wrap textarea {
    border: 1px solid #00000052; 
}
.cms-dashbaord .card-body .select2-container--default .select2-selection--single {
    display: flex;
    align-items: center;
}

strong {
    font-weight: 600;
}

.p-tb-8 {
    padding-top: 8px;
    padding-bottom: 8px;
}

label {
    font-size: 14px;
}

.site-cms-form-wrap label span {
    color: #ff0000;
}

.site-cms-form-wrap .form-control,
.site-cms-form-wrap .form-select {
    height: 35px;
    font-size: 16px;
    padding: 5px 10px;
    border-radius: 5px;
}

.site-cms-form-wrap textarea {
    height: 68px !important;
}

.site-cms-primary-btn {
    padding: 5px 10px;
    font-size: 16px;
    font-weight: 400;
    border-radius: 5px;
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: #ffffff;
    display: inline-block;
}

.site-cms-primary-btn:focus,
.site-cms-primary-btn:active {
    background: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
}

.site-cms-primary-btn:hover {
    background: #3d3d3d;
    border-color: #3d3d3d;
    color: #ffffff;
}

.form-control:focus,
.form-select:focus {
    border-color: #aaaaaa;
    outline: 0;
    box-shadow: unset;
}

.site-cms-back-text {
    display: flex;
    color: #007bff;
    font-size: 15px;
    text-decoration: none;
    font-weight: 500;
    border-radius: 4px;
    transition: color 0.2s, background-color 0.2s;
    align-items: center;
}

.text-bg-hold {
    color: #ffffff !important;
    background-color: #fd7e14;
}

/* table css  */
.site-datatable-wrap .dt-length select {
    margin-right: 5px;
    font-size: 14px;
}

.site-datatable-wrap table {
    width: 100% !important;
    border-collapse: separate;
    border-spacing: 0 !important;
    border-radius: 10px !important;
    text-align: center !important;
    border: 1px solid #d2d2d2;
    border-bottom: 0;
    word-wrap: break-word;
}

.user-details-table .dt-type-numeric:first-child {
    width: 5%;
}

.site-datatable-wrap .table thead tr {
    border-width: 1px !important;
}

.site-datatable-wrap table thead th {
    background-color: var(--color-primary) !important;
    padding: 8px !important;
    font-weight: 600 !important;
    text-align: left !important;
    color: #ffffff;
}

.site-datatable-wrap .table-responsive table thead,
.table-responsive table th {
    border: 1px solid #656565 !important;
}

.site-datatable-wrap .table-bordered> :not(caption)>*>* {
    border: 0;
}

.site-datatable-wrap table td,
.site-datatable-wrap table th {
    padding: 15px !important;
    border-bottom: 1px solid #d2d2d2 !important;
    text-align: left !important;
    vertical-align: middle !important;
    font-size: 14px;
    font-weight: 400;
    color: var(--text-primary);
}

.site-datatable-wrap table thead th:first-child {
    border-top-left-radius: 10px !important;
}

.site-datatable-wrap table thead th:last-child {
    border-top-right-radius: 10px !important;
}

.site-datatable-wrap table tbody tr:last-child td:first-child {
    border-bottom-left-radius: 10px !important;
}

.site-datatable-wrap table tbody tr:last-child td:last-child {
    border-bottom-right-radius: 10px !important;
}

.site-datatable-wrap .dt-length label,
.site-datatable-wrap .dt-search label,
.site-datatable-wrap .dt-info {
    font-size: 14px;
    font-weight: 400;
}

.site-expense-categories-table table th:first-child {
    width: 7%;
}

.site-expense-categories-table table th:nth-child(2) {
    width: 83%;
}

.site-expense-categories-table table th:nth-child(3) {
    width: 10%;
}

.site-expense-categories-table table th {
    text-align: left !important;
}

.site-expense-categories-table table td:nth-child(2) {
    text-align: left !important;
}

/* === Sorting Arrows Color Fix === */
.site-dashboard-wrap table thead .dt-column-header span.dt-column-order {
    color: #ffffff !important;
    opacity: 0.7 !important;
}

.site-dashboard-wrap table thead .dt-column-header span.dt-column-order,
.site-dashboard-wrap table thead .dt-column-header span.dt-column-order:after,
.site-dashboard-wrap table thead .dt-column-header span.dt-column-order:after {
    color: #ffffff !important;
    opacity: 0.7 !important;
}

.site-datatable-wrap table tbody tr td span.badge {
    padding: 4px 10px;
    min-width: 100%;
    font-size: 14px;
    font-weight: 400;
}

.site-datatable-wrap table tbody tr td a.btn-sm {
    padding: 2px 5px 1px 5px;
    margin: 0 2px;
}

.site-datatable-wrap table tbody tr td a.btn-sm i {
    font-size: 14px;
    line-height: 1.2;
}

.site-filter-main-wrap {
    border-bottom: 1px solid #ececec;
    margin-bottom: 15px;
    padding-bottom: 25px;
}

span.site-user-name {
    font-weight: 400;
    font-size: 20px;
    line-height: normal;
    color: var(--text-primary);
    float: right;
    margin-top: 9px;
    margin-left: 10px;
}

.site-btn-height {
    height: 50px;
}

.site-file-input {
    line-height: 20px;
}

.site-alert-msg-wrap {
    width: 100%;
    display: inline-block;
    text-align: left;
}

.site-bill-attachments table {
    text-align: center;
    vertical-align: middle;
}

.site-alert-msg-wrap .alert {
    padding: 10px 40px;
    font-size: 14px;
    width: auto;
    display: inline-flex;
    border-radius: 5px;
    font-weight: 500;
    align-items: center;
    overflow: hidden;

}

.site-alert-msg-wrap .alert.alert-success {
    border-color: #0a3622;
    background: #e7f7f0;
}

.site-alert-msg-wrap .alert:after {
    content: '';
    display: inline-block;
    width: 5px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.site-alert-msg-wrap .alert.alert-success:after {
    background: #0a3622;
}

.site-alert-msg-wrap .alert.alert-danger:after {
    background: #58151c;
}

.sidebar-menu-item {
    position: relative;
    display: block;
}

.sidebar-menu-item>a {
    display: block;
    padding: 10px 15px;
    color: white;
    text-decoration: none;
}

.sidebar-menu-item ul {
    list-style: none;
    padding-left: 25px;
    margin: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}

.sidebar-menu-item ul li a {
    display: block;
    padding: 8px 15px;
    color: white;
    text-decoration: none;
}

.sidebar-menu-item ul li a:hover {
    background-color: #f0f0f0;
}

.sidebar-menu-item:hover ul {
    max-height: 200px;
    transition: max-height 0.4s ease-in;
}

.dropdown-item.disabled-link {
    color: #adb5bd;
    pointer-events: none;
    cursor: default;
}

.btn-visually-disabled {
    border-color: #e6e6e6 !important;
    /* Use !important to override Bootstrap styles */
    color: #e6e6e6 !important;
}

#from_pennine_details_block,
.user-edit-details,
.left-details-block {
    font-size: 14px;
}

#from_pennine_details_block p {
    margin-bottom: 6px;
}

.bottom-invoice-details .card {
    height: 100%;
}

.discount-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.discount-wrap .form-label {
    white-space: nowrap;
}

.discount-wrap .form-control {
    width: 40%;
}

.form-select:disabled {
    background-color: #eee !important;
}


.table-responsive {
    overflow: visible;
}

.view-invoices-wrap .form-check-inline {
    margin-right: 10px;
}


.view-invoices-btn-wrap {
    display: flex;
    gap: 6px;
    justify-content: end;
}

.dropdown-item {
    font-size: 14px;
}

#invoicesTable .invoice-number-col a, #clientInvoicesTable .invoice-number-col a, #projectsTable .project-name-col p {
    width: auto;
    display: inline;
}

#invoicesTable .bi.bi-link-45deg, #clientInvoicesTable .bi.bi-link-45deg, #projectsTable .bi.bi-link-45deg {
    margin-left: 5px;
}



table#timeTrackerTable tbody td:nth-child(3){
    text-align: left !important;
}

.row.cms-dashbaord .card-body span.select2.select2-container.select2-container--default {
    width: 100% !important;
}

.site-cms-form-wrap .toggle-password-btn {
    border: 0;
    position: absolute;
    right: 0;
}

.site-cms-form-wrap .toggle-password-btn:focus, .site-cms-form-wrap .toggle-password-btn:active,.site-cms-form-wrap .toggle-password-btn:hover{
    background: transparent;
    color: #000000;
}

 
#breaksBody td {
      border: 1px solid #0000002d;
       border-collapse: collapse; 
}

span.late-punch {
    background-color: #dc3545;
    color: white;
    padding: 3px 7px;
    border-radius: 10px;
}
.ongoing-break { color: #ff4400 }
.punch-out-miss td { background-color: #f002; }
@media (min-width: 1399px) {
    .view-invoices-btn-wrap .btn-default {
        white-space: nowrap;
    }
}

@media (max-width: 1399px) {
    .view-invoices-btn-wrap {
        flex-direction: column;
        padding: 0;
    }
}

/* @media (max-width: 1299px) {
  .view-invoices-btn-wrap{
    justify-content: flex-start;
    flex-direction: column;
    align-items: flex-start;
  }

} */

@media (min-width: 1024.99px) {
    .client-details-wrap {
        padding-right: 14%;
    }

    #sidebarToggle {
        display: none;
    }
}

@media (max-width: 1024px) {
    .site-datatable-wrap .dropdown-item {
        white-space: normal;
    }

    .layout {
        height: auto;
    }

    .sidebar-wrap {
        position: fixed;
        top: 60px;
        left: 0;
        height: 100vh;
        transform: translateX(-100%);
        z-index: 1050;
        height: 100%;
        overflow-y: auto;
    }

    .sidebar-wrap.open {
        transform: translateX(0);
    }

    .sidebar-backdrop {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background: rgba(0, 0, 0, 0.5);
        z-index: 1040;
    }

    .content-area {
        flex: 1 1 100%;
    }
}