/**
* Template Name: NiceAdmin
* Updated: Sep 18 2023 with Bootstrap v5.3.2
* Template URL: https://bootstrapmade.com/nice-admin-bootstrap-admin-html-template/
* Author: BootstrapMade.com
* License: https://bootstrapmade.com/license/
*/

/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
:root {
  scroll-behavior: smooth;
    --primary-color: #6F1ED3;
    --bs-primary-rgb: 111,30,211;
    --bs-btn-bg: #6F1ED3;
    --bs-btn-hover-bg: #6F1ED3;
    --bs-btn-hover-border-color: #6F1ED3;
    --bs-btn-active-bg: #6F1ED3;
    --bs-btn-active-border-color: #6F1ED3;
    --bs-btn-disabled-bg: #6F1ED3;
    --bs-btn-disabled-border-color: #6F1ED3;
    --bs-btn-border-color: #6F1ED3;
    --bs-link-color: #6F1ED3;
    --bs-link-color-rgb: 111,30,211;
    --bs-link-hover-color: #6F1ED3;
    --bs-body-font-size: 14px;
    --bs-title-font-size: 28px;
    --bs-subtitle-font-size: 20px;
}

body {
  font-family: "Open Sans", sans-serif;
  background: #f6f9ff;
  color: #444444;
}

a {
  color: var(--primary-color);
  text-decoration: none !important;
}

a:hover {
  color: #717ff5;
  text-decoration: none;
}

.btn-primary {
    background-color: var(--primary-color) !important;
    color: white !important;
    padding: 5px 30px;
    margin-left: 15px;
    border-color: var(--primary-color) !important;
}

.btn-info {
    color: white !important;
    padding: 5px 30px;
    margin-left: 15px;
}

.btn-secondary {
    color: white !important;
    padding: 5px 30px;
    margin-left: 15px;
}

.btn-success {
    color: white !important;
    padding: 5px 30px;
    margin-left: 15px;
    margin: 0 5px 5px 0;
}

.btn-danger {
    color: white !important;
    padding: 5px 30px;
    margin-left: 15px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Poppins", sans-serif;
    color: rgba(28, 36, 52, 1);
}

.fs-12 { font-size: 0.75rem; }
.fs-13 { font-size: 0.813rem; }
.fs-14 { font-size: 0.875rem; }
.fs-15 { font-size: 0.938rem; }
.fs-18 { font-size: 1.125rem; }
.fs-21 { font-size: 1.313rem; }

h3, .h3, h2, .h2 {
    font-size: var(--bs-subtitle-font-size);
}

.purple-text {
    color: var(--primary-color);
}

.red-text {
    color: #ff0000;
    font-size: small;
}

.mw-250 {
    max-width: 250px;
    min-width: 140px;
}

.me-n1 {
    margin-right: -.25rem !important;
}

.btn.btn-active {
    background-color: #000 !important;
    border: solid 1px #000 !important;
    color: #fff !important;
}

.custom-link:hover {
    color: white !important;
    text-decoration: none;
}

.sidebar-show-menu {
    position: absolute;
    top: 40px;
    font-size: 30px;
    left: 20px;
    z-index: 123212321;
}

body.toggle-sidebar .sidebar-show-menu {
    left: 240px;
}

body.toggle-sidebar .sidebar-show-menu .bi-list::before {
    content: "\f12f";
}

.btn-custom {
    background-color: var(--primary-color);
    color: white;
    border: none;
    border-radius: 8px;
    padding: 5px 20px;
    text-align: center;
    text-decoration: none;
    font-size: 16px;
    display: inline-block;
    cursor: pointer;
    transition: all 0.3s ease;
    margin: 0 5px 5px 0;
}

.btn-danger {
    border: none;
    border-radius: 8px;
    padding: 5px 20px;
    text-align: center;
    text-decoration: none;
    font-size: 16px;
    display: inline-block;
    cursor: pointer;
    transition: all 0.3s ease;
    margin: 0 5px 5px 0;
}

.btn-custom:hover {
    background-color: var(--bs-btn-hover-bg);
}

.btn-link {
    background: transparent;
    padding: 0;
}

.btn-custom {
    background-color:var(--primary-color); /* Purple background */
    color: white; /* White text */
    border: none; /* No border */
    border-radius: 8px; /* Rounded corners */
    padding: 5px 20px; /* Button padding */
    text-align: center; /* Center the text */
    text-decoration: none; /* Remove underline for links */
    font-size: 16px; /* Adjust font size */
    display: inline-block; /* Allow proper spacing for multiple buttons */
    cursor: pointer; /* Pointer cursor on hover */
    transition: all 0.3s ease; /* Smooth transition for hover effects */
    margin: 0 5px 5px 0;

}

/* Hover effect */
.btn-custom:hover {
    background-color: #540A8E; /* Darker purple on hover */
    color: #FFF !important;
}

/* Focus styles (to remove blue border) */
.btn-custom:focus {
    outline: none; /* Remove focus outline */
    box-shadow: none; /* Remove any browser-specific glow */
}

/*--------------------------------------------------------------
# Main
--------------------------------------------------------------*/
#main {
  /*margin-top: 90px;*/
  padding: 20px 30px;
  transition: all 0.3s;
}

.select2-container {
    border: 2px solid #540A8E;
    border-radius: 5px;
    padding: 5px;
    margin-right: 15px;
}

.staff-management .select2-container {
    background-color: #F3F3F3;
    border-radius: 8px;
    border: 1px;
    box-sizing: border-box;
    color: #444;
    font-size: 14px;
    padding: 10px;
    width: 100%;
    border: 0 !important;
    max-width: 400px;
}

.staff-management .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 15px;
}

.staff-management .select2-container--default .select2-selection--single {
    background-color: transparent;
    border: 0;
}

.select2-container--default .select2-selection--single {
    border: 0;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 6px;
}

@media (max-width: 1199px) {
  #main {
    padding: 20px;
  }
}
/*--------------------------------------------------------------
# Dashboard
--------------------------------------------------------------*/
.private .cutlet {
    height: 22rem; /* Uniform height for all widgets */
    display: flex;
    flex-direction: column; /* Consistent layout for content inside */
    width: 100%; /* Default full width */
    max-width: 49%; /* Set maximum width for multi-column layouts */
    box-sizing: border-box; /* Include padding and border in size calculations */
    margin-bottom: 1rem; /* Spacing between widgets */

}


.private .card {
    height: 100%; /* Ensure the card takes up the full height of the widget */
    display: flex;
    flex-direction: column; /* Align content vertically */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Optional: Add a subtle shadow */
    border: 1px solid #dee2e6; /* Optional: Add a border */
}


.minimize {
    cursor: pointer; /* Show pointer cursor for interactivity */
    font-size: 1rem; /* Adjust icon size */
}

/* Responsive Layout for Smaller Screens */
@media (max-width: 768px) {
    .cutlet {
        max-width: 100%; /* Stack widgets vertically for mobile screens */
    }
}
.private .cutlet.kalendar-saya {
    height: 100%; /* Full height */
    display: flex;
}
/*--------------------------------------------------------------
# announcement view more
--------------------------------------------------------------*/
.announcement-viewmore{
    border-radius: 10px;
    background: #FFF;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    padding: 20px;
    margin-top: 40px;

    table {
        width: 100%;
        margin-bottom: 30px;
        table-layout: fixed;
    }

    h2 {
        color: var(--primary-color);
        font-family: Poppins;
        font-size: 18px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
        letter-spacing: 0.36px;
    }

    tr th {
        color: var(--primary-color);
        font-family: Poppins;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: 0.28px;
        padding-bottom: 10px;
        border-bottom: 1px solid black;
    }

    tr td {
        color: #1C2434;
        font-family: Poppins;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: 0.28px;
        padding: 10px 0px;
        border-bottom: 1px solid black;
    }

    .custom-search-bar {
        border: 2px solid var(--primary-color) !important;
        border-left: none;
        border-radius: 8px;
        padding: 10px 20px;
        width: 100%;
        font-size: 14px;
        padding-left: 50px;
        margin-right: 20px;
    }

    .custom-search-bar:focus {
        outline: none;
        border-color: var(--primary-color);
        box-shadow: 0 0 8px rgba(111, 30, 211, 0.2);
    }

    .search-icon {
        left: 20px;
        top: 50%;
        transform: translateY(-50%);
        color: var(--primary-color);
        font-size: 18px;
    }
}

/*--------------------------------------------------------------
# alert message
--------------------------------------------------------------*/
.alert {
    text-align: left !important;      /* Align text to the left */
    display: block !important;        /* Block display to take up full width */
    width: 100% !important;           /* Ensure the alert takes full width */
    max-width: 100% !important;       /* Remove max-width restrictions */
    margin-left: 0 !important;        /* Align to the left side */
    margin-right: 0 !important;       /* Prevent any right margins */
    padding: 10px 20px;               /* Add some padding */
    box-sizing: border-box;           /* Include padding in the width */
    align-items: flex-start;
}

/* More specific rule for Bootstrap alerts */
div.alert {
    margin-left: 0 !important;        /* Remove left margin */
    margin-right: 0 !important;       /* Remove right margin */
    text-align: left !important;      /* Ensure text is left-aligned */
    padding: 10px 15px !important;    /* Adjust padding */
    width: 100% !important;           /* Force full width */
    box-sizing: border-box;           /* Include padding in width */
}

body {
    width: 100%;
    margin: 0;
    padding: 0;
}

body .alert {
    position: relative;
    left: 0 !important; /* Align all alerts to the left-most side */
    margin-left: 0 !important;
}


/*--------------------------------------------------------------
# leave view more
--------------------------------------------------------------*/
.leave-viewmore{
    border-radius: 10px;
    background: #FFF;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    padding: 20px;
    margin-top: 40px;

    table {
        width: 100%;
        margin-bottom: 30px;
        table-layout: fixed;
    }

    h2 {
        color: var(--primary-color);
        font-family: Poppins;
        font-size: 18px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
        letter-spacing: 0.36px;
    }

    tr th {
        color: var(--primary-color);
        font-family: Poppins;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: 0.28px;
        padding-bottom: 10px;
        border-bottom: 1px solid black;
    }

    tr td {
        color: #1C2434;
        font-family: Poppins;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: 0.28px;
        padding: 10px 0px;
        border-bottom: 1px solid black;
    }

     .custom-search-bar {
        border: 2px solid var(--primary-color) !important;
        border-left: none;
        border-radius: 8px;
        padding: 10px 20px;
        width: 100%;
        font-size: 14px;
        padding-left: 50px;
        margin-right: 20px;
    }

    .custom-search-bar:focus {
        outline: none;
        border-color: var(--primary-color);
        box-shadow: 0 0 8px rgba(111, 30, 211, 0.2);
    }

    .search-icon {
        left: 20px;
        top: 50%;
        transform: translateY(-50%);
        color: var(--primary-color);
        font-size: 18px;
    }
}

/*--------------------------------------------------------------
# work from home view more
--------------------------------------------------------------*/
.wfh-viewmore{
    border-radius: 10px;
    background: #FFF;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    padding: 20px;
    margin-top: 40px;

    table {
        width: 100%;
        margin-bottom: 30px;
        table-layout: fixed;
    }

    h2 {
        color: var(--primary-color);
        font-family: Poppins;
        font-size: 18px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
        letter-spacing: 0.36px;
    }

    tr th {
        color: var(--primary-color);
        font-family: Poppins;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: 0.28px;
        padding-bottom: 10px;
        border-bottom: 1px solid black;
    }

    tr td {
        color: #1C2434;
        font-family: Poppins;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: 0.28px;
        padding: 10px 0px;
        border-bottom: 1px solid black;
    }

    .custom-search-bar {
        border: 2px solid var(--primary-color) !important;
        border-left: none;
        border-radius: 8px;
        padding: 10px 20px;
        width: 100%;
        font-size: 14px;
        padding-left: 50px;
        margin-right: 20px;
    }

    .custom-search-bar:focus {
        outline: none;
        border-color: var(--primary-color);
        box-shadow: 0 0 8px rgba(111, 30, 211, 0.2);
    }

    .search-icon {
        left: 20px;
        top: 50%;
        transform: translateY(-50%);
        color: var(--primary-color);
        font-size: 18px;
    }
}

/*--------------------------------------------------------------
# birthday view more
--------------------------------------------------------------*/
.birthday-viewmore{
    border-radius: 10px;
    background: #FFF;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    padding: 20px;
    margin-top: 40px;

    table {
        width: 100%;
        margin-bottom: 30px;
        table-layout: fixed;
    }

    h2 {
        color: var(--primary-color);
        font-family: Poppins;
        font-size: 18px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
        letter-spacing: 0.36px;
    }

    tr th {
        color: var(--primary-color);
        font-family: Poppins;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: 0.28px;
        padding-bottom: 10px;
        border-bottom: 1px solid black;
    }

    tr td {
        color: #1C2434;
        font-family: Poppins;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: 0.28px;
        padding: 10px 0px;
        border-bottom: 1px solid black;
    }

    .custom-search-bar {
        border: 2px solid var(--primary-color) !important;
        border-left: none;
        border-radius: 8px;
        padding: 10px 20px;
        width: 100%;
        font-size: 14px;
        padding-left: 50px;
        margin-right: 20px;
    }

    .custom-search-bar:focus {
        outline: none;
        border-color: var(--primary-color);
        box-shadow: 0 0 8px rgba(111, 30, 211, 0.2);
    }

    .search-icon {
        left: 20px;
        top: 50%;
        transform: translateY(-50%);
        color: var(--primary-color);
        font-size: 18px;
    }
}

/*--------------------------------------------------------------
# Page Title
--------------------------------------------------------------*/
.pagetitle {
  margin-bottom: 10px;
    padding-top: 20px;
}

.pagetitle h1 {
  font-size: var(--bs-title-font-size);
  margin-bottom: 0;
  font-weight: 600;
  color: #012970;
    letter-spacing: 1px;
}

.pagetitle h4 {
    color: rgba(100, 100, 100, 1);
    font-size: var(--bs-body-font-size);
    font-weight: 400;
    font-family: 'Inter', sans-serif;
}

/*--------------------------------------------------------------
# Back to top button
--------------------------------------------------------------*/
.back-to-top {
  position: fixed;
  visibility: hidden;
  opacity: 0;
  right: 15px;
  bottom: 15px;
  z-index: 99999;
  background: var(--primary-color);
  width: 40px;
  height: 40px;
  border-radius: 4px;
  transition: all 0.4s;
}

.back-to-top i {
  font-size: 24px;
  color: #fff;
  line-height: 0;
}

.back-to-top:hover {
  background: #6776f4;
  color: #fff;
}

.back-to-top.active {
  visibility: visible;
  opacity: 1;
}

/*--------------------------------------------------------------
# Notification Bell CSS stylings
--------------------------------------------------------------*/
.nav-icon.has-notifications i {
    color: var(--primary-color); /* Change bell icon color */
}

.nav-icon .badge {
    background-color: var(--primary-color); /* Change badge background color */
    color: #fff; /* Ensure the badge text is readable */
}

.nav-icon {
    display: inline-flex;
    align-items: center;
    position: relative;
}

.nav-icon .badge {
    font-size: 0.75rem; /* Text size */
    width: 1.2rem;      /* Badge width */
    height: 1.2rem;     /* Badge height */
    border-radius: 50%; /* Make badge circle shape */
    line-height: 1;     /* Center the text */
    position: absolute; /* Position the badge relative to the bell */
    top: -5px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--primary-color);
    color: white;
}

/*--------------------------------------------------------------
# Override some default Bootstrap stylings
--------------------------------------------------------------*/
/* Dropdown menus */
.dropdown-menu {
  border-radius: 4px;
  padding: 10px 0;
  animation-name: dropdown-animate;
  animation-duration: 0.2s;
  animation-fill-mode: both;
  border: 0;
  box-shadow: 0 5px 30px 0 rgba(82, 63, 105, 0.2);
}

.dropdown-menu .dropdown-header,
.dropdown-menu .dropdown-footer {
  text-align: center;
  font-size: 15px;
  padding: 10px 25px;
}

.dropdown-menu .dropdown-footer a {
  color: #444444;
  text-decoration: underline;
}

.dropdown-menu .dropdown-footer a:hover {
  text-decoration: none;
}

.dropdown-menu .dropdown-divider {
  color: #a5c5fe;
  margin: 0;
}

.dropdown-menu .dropdown-item {
  font-size: 14px;
  padding: 10px 15px;
  transition: 0.3s;
}

.dropdown-menu .dropdown-item i {
  margin-right: 10px;
  font-size: 18px;
  line-height: 0;
}

.dropdown-menu .dropdown-item:hover {
  background-color: #f6f9ff;
}

@media (min-width: 768px) {
  .dropdown-menu-arrow::before {
    content: "";
    width: 13px;
    height: 13px;
    background: #fff;
    position: absolute;
    top: -7px;
    right: 20px;
    transform: rotate(45deg);
    border-top: 1px solid #eaedf1;
    border-left: 1px solid #eaedf1;
  }
}

@keyframes dropdown-animate {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }

  0% {
    opacity: 0;
  }
}

/* Light Backgrounds */
.bg-primary-light {
  background-color: #cfe2ff;
  border-color: #cfe2ff;
}

.bg-secondary-light {
  background-color: #e2e3e5;
  border-color: #e2e3e5;
}

.bg-success-light {
  background-color: #d1e7dd;
  border-color: #d1e7dd;
}

.bg-danger-light {
  background-color: #f8d7da;
  border-color: #f8d7da;
}

.bg-warning-light {
  background-color: #fff3cd;
  border-color: #fff3cd;
}

.bg-info-light {
  background-color: #cff4fc;
  border-color: #cff4fc;
}

.bg-dark-light {
  background-color: #d3d3d4;
  border-color: #d3d3d4;
}

/* Card */
.card {
  margin-bottom: 30px;
  border: none;
  border-radius: 5px;
  box-shadow: 0px 0 30px rgba(1, 41, 112, 0.1);
    padding: 20px;
    display: inline-block;
    width: 100%;
}

.card a.btn {
    margin: 0 auto 15px;
}

.card table form button, .card table a.btn, .card table button {
    margin: 0 5px 5px 0;
}

.card table.table td, .card table.table th {
    text-align: left;
}

.card-header,
.card-footer {
  border-color: #ebeef4;
  background-color: #fff;
  color: #798eb3;
  padding: 15px;
}

.card-title {
  padding: 20px 0 15px 0;
  font-size: 18px;
  font-weight: 500;
  color: #012970;
  font-family: "Poppins", sans-serif;
}

.card-title span {
  color: #899bbd;
  font-size: 14px;
  font-weight: 400;
}

.card-body {
  padding: 0 20px 20px 20px;
}

.card-img-overlay {
  background-color: rgba(255, 255, 255, 0.6);
}

/* Alerts */
.alert-heading {
  font-weight: 500;
  font-family: "Poppins", sans-serif;
  font-size: 20px;
}

/* Close Button */
.btn-close {
  background-size: 25%;
}

.btn-close:focus {
  outline: 0;
  box-shadow: none;
}

/* Accordion */
.accordion-item {
  border: 1px solid #ebeef4;
}

.accordion-button:focus {
  outline: 0;
  box-shadow: none;
}

.accordion-button:not(.collapsed) {
  color: #012970;
  background-color: #f6f9ff;
}

.accordion-flush .accordion-button {
  padding: 15px 0;
  background: none;
  border: 0;
}

.accordion-flush .accordion-button:not(.collapsed) {
  box-shadow: none;
  color: var(--primary-color);
}

.accordion-flush .accordion-body {
  padding: 0 0 15px 0;
  color: #3e4f6f;
  font-size: 15px;
}

/* Breadcrumbs */
.breadcrumb {
  font-size: 14px;
  font-family: "Nunito", sans-serif;
  color: #899bbd;
  font-weight: 600;
}

.breadcrumb a {
  color: #899bbd;
  transition: 0.3s;
}

.breadcrumb a:hover {
  color: #51678f;
}

.breadcrumb .breadcrumb-item::before {
  color: #899bbd;
}

.breadcrumb .active {
  color: #51678f;
  font-weight: 600;
}

/* Bordered Tabs */
.nav-tabs-bordered {
  border-bottom: 2px solid #ebeef4;
}

.nav-tabs-bordered .nav-link {
  margin-bottom: -2px;
  border: none;
  color: #2c384e;
}

.nav-tabs-bordered .nav-link:hover,
.nav-tabs-bordered .nav-link:focus {
  color: var(--primary-color);
}

.nav-tabs-bordered .nav-link.active {
  background-color: #fff;
  color: var(--primary-color);
  border-bottom: 2px solid var(--primary-color);
}

/*--------------------------------------------------------------
# DataTable - Override some of the css
--------------------------------------------------------------*/
div.dataTables_processing {
    margin-left: -50px !important;
    margin-top: -125px !important;
    transform: translate(50%, 50%);
}


/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
.logo {
  line-height: 1;
}

@media (min-width: 1200px) {
  .logo {
    width: 280px;
  }
}

.logo img {
  /*max-height: 26px;*/
  max-height: 6rem;
  margin-right: 6px;
}

.logo img.medium {
  max-height: 3.5rem;
}

.logo span {
  font-size: 26px;
  font-weight: 700;
  color: #012970;
  font-family: "Nunito", sans-serif;
}

.header {
  transition: all 0.5s;
  z-index: 997;
  height: 90px;
  padding-left: 330px;
    padding-top: 30px;
  /* Toggle Sidebar Button */
  /* Search Bar */
}

.header .toggle-sidebar-btn {
  font-size: 32px;
  padding-left: 10px;
  cursor: pointer;
  color: #012970;
}

.header .search-bar {
  min-width: 360px;
  padding: 0 20px;
}

@media (max-width: 1199px) {
  .header .search-bar {
    position: fixed;
    top: 50px;
    left: 0;
    right: 0;
    padding: 20px;
    box-shadow: 0px 0px 15px 0px rgba(1, 41, 112, 0.1);
    background: white;
    z-index: 9999;
    transition: 0.3s;
    visibility: hidden;
    opacity: 0;
  }

  .header .search-bar-show {
    top: 60px;
    visibility: visible;
    opacity: 1;
  }
}

.header .search-form {
  width: 100%;
}

.header .search-form input {
  border: 0;
  font-size: 14px;
  color: #012970;
  border: 1px solid rgba(1, 41, 112, 0.2);
  padding: 7px 38px 7px 8px;
  border-radius: 3px;
  transition: 0.3s;
  width: 100%;
}

.header .search-form input:focus,
.header .search-form input:hover {
  outline: none;
  box-shadow: 0 0 10px 0 rgba(1, 41, 112, 0.15);
  border: 1px solid rgba(1, 41, 112, 0.3);
}

.header .search-form button {
  border: 0;
  padding: 0;
  margin-left: -30px;
  background: none;
}

.header .search-form button i {
  color: #012970;
}

/*--------------------------------------------------------------
# Header Nav
--------------------------------------------------------------*/
.header-nav ul {
  list-style: none;
}

.header-nav > ul {
  margin: 0;
  padding: 0;
}

.header-nav .nav-icon {
  font-size: 22px;
  color: #012970;
  margin-right: 25px;
  position: relative;
}

.header-nav .nav-profile {
  color: #012970;
}

.header-nav .nav-profile img {
  max-height: 36px;
    border-radius: 10px;
}

.header-nav .nav-profile span {
  font-size: 14px;
  font-weight: 600;
}

.header-nav .badge-number {
  position: absolute;
  inset: -2px -5px auto auto;
  font-weight: normal;
  font-size: 12px;
  padding: 3px 6px;
}

.header-nav .notifications {
  inset: 8px -15px auto auto !important;
}

.header-nav .notifications .notification-item {
  display: flex;
  align-items: center;
  padding: 15px 10px;
  transition: 0.3s;
}

.header-nav .notifications .notification-item i {
  margin: 0 20px 0 10px;
  font-size: 24px;
}

.header-nav .notifications .notification-item h4 {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 5px;
}

.header-nav .notifications .notification-item p {
  font-size: 13px;
  margin-bottom: 3px;
  color: #919191;
}

.header-nav .notifications .notification-item:hover {
  background-color: #f6f9ff;
}

.header-nav .messages {
  inset: 8px -15px auto auto !important;
}

.header-nav .messages .message-item {
  padding: 15px 10px;
  transition: 0.3s;
}

.header-nav .messages .message-item a {
  display: flex;
}

.header-nav .messages .message-item img {
  margin: 0 20px 0 10px;
  max-height: 40px;
}

.header-nav .messages .message-item h4 {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 5px;
  color: #444444;
}

.header-nav .messages .message-item p {
  font-size: 13px;
  margin-bottom: 3px;
  color: #919191;
}

.header-nav .messages .message-item:hover {
  background-color: #f6f9ff;
}

.header-nav .profile {
  min-width: 240px;
  padding-bottom: 0;
  top: 8px !important;
}

.header-nav .profile .dropdown-header h6 {
  font-size: 18px;
  margin-bottom: 0;
  font-weight: 600;
  color: #444444;
}

.header-nav .profile .dropdown-header span {
  font-size: 14px;
}

.header-nav .profile .dropdown-item {
  font-size: 14px;
  padding: 10px 15px;
  transition: 0.3s;
}

.header-nav .profile .dropdown-item i {
  margin-right: 10px;
  font-size: 18px;
  line-height: 0;
}

.header-nav .profile .dropdown-item:hover {
  background-color: #f6f9ff;
}

/*--------------------------------------------------------------
# Sidebar
--------------------------------------------------------------*/
.sidebar {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 300px;
  z-index: 9960;
  transition: all 0.3s;
  padding: 20px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #aab7cf transparent;
  box-shadow: 0px 0px 20px rgba(1, 41, 112, 0.1);
  background-color: #fff;
}

@media (max-width: 1199px) {
  .sidebar {
    left: -300px;
  }
}

.sidebar::-webkit-scrollbar {
  width: 5px;
  height: 8px;
  background-color: #fff;
}

.sidebar::-webkit-scrollbar-thumb {
  background-color: #aab7cf;
}

@media (min-width: 1200px) {
  #main,
  #footer {
    margin-left: 300px;
  }
}

@media (max-width: 1199px) {
  .toggle-sidebar .sidebar {
    left: 0;
  }
}

@media (min-width: 1200px) {
  .toggle-sidebar #main,
  .toggle-sidebar #footer {
    margin-left: 0;
  }

  .toggle-sidebar .sidebar {
    left: -300px;
  }
}

.sidebar-logo {
    margin-bottom: 50px;
}

.sidebar-nav {
  padding: 0;
  margin: 0;
  list-style: none;
}

.sidebar-nav li {
  padding: 0;
  margin: 0;
  list-style: none;
}

.sidebar-nav li a.active {
  background-color: #6f1ed345; /* Active background color */
  color: #000; /* Active text color */
}

.sidebar-nav li a:hover {
  background-color: #f0f0f0; /* Hover effect */
}

.sidebar-nav .nav-item {
  margin-bottom: 5px;
}

.sidebar-nav .nav-heading {
  font-size: 11px;
  text-transform: uppercase;
  color: #899bbd;
  font-weight: 600;
  margin: 10px 0 5px 15px;
}

.sidebar-nav .collapsing {
    height: 0;
    overflow: hidden;
    transition: height 0.3s ease;
}

.sidebar-nav .collapse.show {
    transition: height 0.3s ease;
}

.sidebar-nav .nav-link {
  display: flex;
  align-items: center;
  font-size: 15px;
  font-weight: 600;
  color: #FFF;
  transition: 0.3s;
    background: var(--primary-color);
  padding: 10px 15px;
  border-radius: 4px;
}

.sidebar-nav .nav-link i {
  font-size: 16px;
  margin-right: 10px;
  color: #FFF;
}

.sidebar-nav .nav-link.collapsed {
  color: var(--primary-color);
  background: transparent;
}

.sidebar-nav .nav-link.collapsed i {
  color: var(--primary-color);
}

.sidebar-nav li.nav-item.active ul.collapse {
    display: none;
}

.sidebar-nav li.nav-item.active ul.collapse.show {
    display: block;
}

.sidebar-nav li.nav-item a {
    border-radius: 5px;
}

.sidebar-nav li.nav-item.active > a  {
    background: var(--primary-color);
    color: #FFF;
}

.sidebar-nav li.nav-item.active li.active a{
    background-color: #bfaee8;
    color: #FFF;
}

.sidebar-nav li.nav-item.active > a > i {
    color: #FFF;
}

.sidebar-nav .nav-link.active {
    background-color: transparent; /* Make it transparent */
    color: var(--primary-color);
}

.sidebar-nav li.nav-item li.nav-item a[aria-expanded="true"], .sidebar-nav li.nav-item li.nav-item:hover > a {
    color: #FFF;
}

.sidebar-nav .nav-link:not(.collapsed).active {
    background-color: #6f1ed345; /* Retain purple background only for expanded menus */
    color: #FFF;
}

.sidebar-nav .nav-link:hover {
  color: #FFF;
    background: var(--primary-color);
}

.sidebar-nav .nav-link:hover i {
  color: #FFF;
}


.sidebar-nav .nav-link:hover i {
    color: #FFF; /* Ensures icons also stay visible */
}
.sidebar-nav .nav-link .bi-chevron-down {
  margin-right: 0;
  transition: transform 0.2s ease-in-out;
}

.sidebar-nav .nav-link:not(.collapsed) .bi-chevron-down {
  transform: rotate(180deg);
}

.sidebar-nav .nav-content {
  padding: 5px 0 0 0;
  margin: 0;
  list-style: none;
}

.sidebar-nav .nav-content a {
  display: flex;
  align-items: center;
  font-size: 14px;
  font-weight: 600;
  color: var(--primary-color);
  transition: 0.3s;
  padding: 10px 0 10px 40px;
  transition: 0.3s;
}

.sidebar-nav .nav-content a i {
  /*font-size: 6px;*/
  margin-right: 15px !important;
  line-height: 0;
  border-radius: 50%;
}

.sidebar-nav .nav-content a:hover,
.sidebar-nav .nav-content a.active {
  color: var(--primary-color);
}

.sidebar-nav .nav-content a.active i {
  background-color: var(--primary-color);
}

/*--------------------------------------------------------------
# Calendar
--------------------------------------------------------------*/
#calendar .fc-toolbar-chunk,
#calendar .fc-toolbar-title,
#calendar .fc-col-header-cell,
#calendar .fc-timegrid-axis,
#calendar .fc-timegrid-slot,
#calendar .fc-daygrid-day,
#calendar .fc-list-table {
    font-size: .813rem !important;
}

#calendar .fc-event-time,
#calendar .fc-event-title {
    font-size: .688rem;
}

#calendar .fc-button-primary {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

#calendar .fc-button-primary:hover,
#calendar .fc-button-primary.fc-button-active {
    box-shadow: inset 0 0 0 2000px rgb(0 0 0 / 30%);
}

#calendar .fc-list-event,
#calendar .fc-timegrid-event,
#calendar .fc-daygrid-event {
    cursor: pointer;
}

/*--------------------------------------------------------------
# Notification
--------------------------------------------------------------*/
/* General Notification Dropdown Styles */
.dropdown-menu.notifications {
    width: 420px; /* Fixed width for consistency */
    padding: 0;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);

.notification-item .red-dot {
    width: 8px;
    height: 8px;
    background-color: red;
    border-radius: 50%;
    margin-right: 8px;
    flex-shrink: 0;
}
.notification-item img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
}
.notification-item-content {
    display: flex;
    flex-direction: column;
}

/* Header Styling */
.dropdown-header {
    padding: 12px 16px;
    font-weight: bold;
    font-size: 14px;
    color: var(--primary-color);
    background-color: #f8f9fa;
    border-bottom: 1px solid #e9ecef;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Mark All as Read Button */
.mark-all-read {
    align-items: start;
    font-size: 12px;
    color: var(--primary-color);
    border: none;
    background: none;
    cursor: pointer;
}

.mark-all-read:hover {
    color: #0056b3;
    text-decoration: none;
}

/* Notification Item Styling */
.notification-item {
    display: flex;
    align-items: flex-start;
    padding: 8px;
    cursor: pointer;
    transition: background-color 0.2s ease-in-out;
}

.notification-item:hover {
    background-color: #f8f9fa;
}

.notification-item.unread {
    border-left: 3px solid #6610f2;
    background-color: #efefef;
}

.notification-item.read {
    border-left: 3px solid transparent;
    background-color: #ffffff;
}

/* Notification Content */
.notification-item h4 {
    font-size: 14px;
    margin: 0;
    color: var(--primary-color);
    font-weight: normal !important;
}

.notification-item.unread h4 {
    font-weight: bold !important;
}


.notification-item p {
    font-size: 12px;
    margin: 4px 0;
    color: gray;
}

/* Time Display */
.notification-item p:last-child {
    font-size: 11px;
    color: #adb5bd;
}

/* Divider Styling */
.dropdown-divider {
    margin: 0;
    border-color: #e9ecef;
}

/* Footer Styling */
/* Dropdown footer styling */
.dropdown-footer {
    text-align: center;
    padding: 12px 16px;
    background-color: mediumpurple;
    font-size: 13px;
}

/* Style the link inside the dropdown footer */
.dropdown-footer a {
    color: white !important; /* Ensure the text color is white */
    text-decoration: none !important; /* Remove underline */
}

/* Add hover effect for the link */
.dropdown-footer a:hover {
    text-decoration: none; /* Keep underline removed on hover */
    color: #e0e0e0; /* Slightly lighter shade for hover effect */
}
    }
/*--------------------------------------------------------------
# Notification view more
--------------------------------------------------------------*/

.notifikasi-container {
    .notification-header {
        max-width: auto;
        margin: auto;
        padding: 8px;
        border: 1px solid #ddd;
        border-radius: 8px;
        background-color: white;
        box-shadow: 0 0 30px rgba(1, 41, 112, 0.2);
    }
    .notification-header h3 {
        margin: 0;
        color: #6e33cc;
        margin-left: 10px;
    }

    #notification-filter {
        padding: 5px;
        border: 1px solid #ccc;
        border-radius: 5px;
    }

    #notification-list {
        list-style: none;
        padding: 0;
    }

    .notification-item.read{
        border: 1px solid #ddd;
        border-radius: 8px;
        margin-bottom: 10px;
        padding: 10px;
        display: flex;
        align-items: center;
        background-color: white;
        box-shadow: 0 0 5px rgba(65, 84, 241, 0.2);
    }

    .notification-item.unread{
        border: 1px solid #ededed;
        border-radius: 8px;
        margin-bottom: 10px;
        padding: 10px;
        display: flex;
        align-items: center;
        background-color: rgba(243, 241, 241, 0.96);
        box-shadow: 0 0 5px rgba(65, 84, 241, 0.2);
    }

    .notification-item img {
        width: 50px;
        height: 50px;
        border-radius: 50%;
    }

    .notification-item h4 {
        margin: 0;
        color: #6e33cc;
        font-size: 14px;

    }

    .notification-item p {
        margin: 0;
        color: #555;
        font-size: 14px;

    }

    .notification-item p:last-of-type {
        font-size: 12px;
        color: #999;
        font-size: 14px;

    }

    .font-weight-bold {
        font-weight: bold;
    }

    /* Time Display */
    .notification-item p:last-child {
        font-size: 11px;
        color: #adb5bd;
    }

    .notification-item.unread h4 {
        font-size: 14px;
        font-weight: bold;
        color: #6e33cc; /* Primary color for unread titles */
        position: relative; /* Make h4 a positioned element */
        padding-left: 20px;
    }

    .notification-item.unread h4::before {
        content: "";
        position: absolute;
        left: 0; /* Position it at the start of the h4 */
        top: 50%;
        transform: translateY(-50%); /* Center the dot vertically */
        width: 8px;
        height: 8px;
        background-color: red; /* Red color for the dot */
        border-radius: 50%;
    }


    .notification-item.read h4 {
        font-weight: normal;
        color: #555; /* Default color for read titles */
        font-size: 14px;

    }

    .notification-item p {
        margin: 0;
        color: #555; /* Default text color */
        font-size: 14px;

    }

    .notification-item p {
        color: #999; /* Slightly lighter color for read descriptions */
        font-size: 12px;

    }

    .notification-item img {
        width: 50px;
        height: 50px;
        border-radius: 50%;
        margin-right: 10px;
    }
    .custom-notification-select {
        position: relative;
        display: inline-block;
        width: 100%; /* Set width to 100% to make it responsive */
        max-width: 250px; /* Limit maximum width */
        height: 40px; /* Adjust height as needed */
        border: 1px solid #673AB7;
        border-radius: 5px;
        background-color: #fff;
        color: #673AB7;
        cursor: pointer;
        font-family: Arial, sans-serif;
        font-size: 14px;
        padding: 5px;
        box-sizing: border-box; /* Ensure padding doesn't affect width */
        margin-top: 5px;
    }

    .custom-notification-select select {
        width: 100%;
        height: 100%;
        border: none;
        background-color: transparent;
        appearance: none;
        -webkit-appearance: none; /* Remove default styling for Webkit browsers */
        -moz-appearance: none; /* Remove default styling for Firefox */
        padding: 5px;
        color: #673AB7; /* Set text color */
        font-size: inherit; /* Ensure consistent font size */
    }

    .custom-notification-select select option {
        color: #673AB7; /* Set option text color */
    }

    .custom-notification-select::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translateY(-50%);
        width: 0;
        height: 0;
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-top: 10px solid #673AB7;
        pointer-events: none;
    }

}
/*--------------------------------------------------------------
# Dashboard
--------------------------------------------------------------*/
/* Filter dropdown */
.dashboard .filter {
  position: absolute;
  right: 0px;
  top: 15px;
}

.dashboard .filter .icon {
  color: #aab7cf;
  padding-right: 20px;
  padding-bottom: 5px;
  transition: 0.3s;
  font-size: 16px;
}

.dashboard .filter .icon:hover,
.dashboard .filter .icon:focus {
  color: var(--primary-color);
}

.dashboard .filter .dropdown-header {
  padding: 8px 15px;
}

.dashboard .filter .dropdown-header h6 {
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
  color: #aab7cf;
  margin-bottom: 0;
  padding: 0;
}

.dashboard .filter .dropdown-item {
  padding: 8px 15px;
}

/* Info Cards */
.dashboard .info-card {
  padding-bottom: 10px;
}

.dashboard .info-card h6 {
  font-size: 28px;
  color: #012970;
  font-weight: 700;
  margin: 0;
  padding: 0;
}

.dashboard .card-icon {
  font-size: 32px;
  line-height: 0;
  width: 64px;
  height: 64px;
  flex-shrink: 0;
  flex-grow: 0;
}

.dashboard .sales-card .card-icon {
  color: var(--primary-color);
  background: #f6f6fe;
}

.dashboard .revenue-card .card-icon {
  color: #2eca6a;
  background: #e0f8e9;
}

.dashboard .customers-card .card-icon {
  color: #ff771d;
  background: #ffecdf;
}

/* Activity */
.dashboard .activity {
  font-size: 14px;
}

.dashboard .activity .activity-item .activite-label {
  color: #888;
  position: relative;
  flex-shrink: 0;
  flex-grow: 0;
  min-width: 64px;
}

.dashboard .activity .activity-item .activite-label::before {
  content: "";
  position: absolute;
  right: -11px;
  width: 4px;
  top: 0;
  bottom: 0;
  background-color: #eceefe;
}

.dashboard .activity .activity-item .activity-badge {
  margin-top: 3px;
  z-index: 1;
  font-size: 11px;
  line-height: 0;
  border-radius: 50%;
  flex-shrink: 0;
  border: 3px solid #fff;
  flex-grow: 0;
}

.dashboard .activity .activity-item .activity-content {
  padding-left: 10px;
  padding-bottom: 20px;
}

.dashboard .activity .activity-item:first-child .activite-label::before {
  top: 5px;
}

.dashboard .activity .activity-item:last-child .activity-content {
  padding-bottom: 0;
}

/* News & Updates */
.dashboard .news .post-item + .post-item {
  margin-top: 15px;
}

.dashboard .news img {
  width: 80px;
  float: left;
  border-radius: 5px;
}

.dashboard .news h4 {
  font-size: 15px;
  margin-left: 95px;
  font-weight: bold;
  margin-bottom: 5px;
}

.dashboard .news h4 a {
  color: #012970;
  transition: 0.3s;
}

.dashboard .news h4 a:hover {
  color: var(--primary-color);
}

.dashboard .news p {
  font-size: 14px;
  color: #777777;
  margin-left: 95px;
}

/* Recent Sales */
.dashboard .recent-sales {
  font-size: 14px;
}

.dashboard .recent-sales .table thead {
  background: #f6f6fe;
}

.dashboard .recent-sales .table thead th {
  border: 0;
}

.dashboard .recent-sales .dataTable-top {
  padding: 0 0 10px 0;
}

.dashboard .recent-sales .dataTable-bottom {
  padding: 10px 0 0 0;
}

/* Top Selling */
.dashboard .top-selling {
  font-size: 14px;
}

.dashboard .top-selling .table thead {
  background: #f6f6fe;
}

.dashboard .top-selling .table thead th {
  border: 0;
}

.dashboard .top-selling .table tbody td {
  vertical-align: middle;
}

.dashboard .top-selling img {
  border-radius: 5px;
  max-width: 60px;
}

.section-dashboard .card-img {
    width: 90px;
    height: 90px;
    margin: 1.75rem;
}

.section-dashboard .plate {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: space-between;
    align-items: flex-start;
}

.section-dashboard .plate-placeholder {
    border: 1px dotted #000;
    margin: 0 auto;
    height: 25rem;
    width: 45%;
}

/*--------------------------------------------------------------
# Dashboard Calendar list Widget
--------------------------------------------------------------*/
.cal-list-info .cal-list-date {
    height: 45px;
    width: 37px;
    border: 1px solid var(--primary-color) !important;
}

.cal-list-info .cal-list-date span {
    display: block;
    text-align: center;
    line-height: 17px;
}

.cal-list-info .cal-list-date span:nth-child(1) {
    border-bottom: 1px solid var(--primary-color) !important;
}

.cal-list-info .cal-list-text {

}

/*--------------------------------------------------------------
# Icons list page
--------------------------------------------------------------*/
.iconslist {
  display: grid;
  max-width: 100%;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1.25rem;
  padding-top: 15px;
}

.iconslist .icon {
  background-color: #fff;
  border-radius: 0.25rem;
  text-align: center;
  color: #012970;
  padding: 15px 0;
}

.iconslist i {
  margin: 0.25rem;
  font-size: 2.5rem;
}

.iconslist .label {
  font-family: var(--bs-font-monospace);
  display: inline-block;
  width: 100%;
  overflow: hidden;
  padding: 0.25rem;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #666;
}

/*--------------------------------------------------------------
# Profile Page
--------------------------------------------------------------*/
.section.profile {
    .card-body {
        display: flex;
        flex-direction: column;
        justify-content: flex-start; /* Prevent extra space at the bottom */
    }

    .profile-h3 {
        text-align: center;
        color: var(--primary-color);
        font-weight: bold;
        margin-bottom: 20px;
    }

    .profile-h3:not(first-child) {
        margin-top: 50px;
    }

    .text-empty {
        font-style: italic;
        color: gray;
    }

    /* Modal Container */

    .lewat-modal {
        display: none; /* Hidden by default */
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.4); /* Semi-transparent background */
        z-index: 1000; /* On top of other content */


        .modal-content {
            background-color: white;
            padding: 20px;
            border-radius: 5px;
            max-width: 600px; /* Max width */
            margin: 80px auto; /* Center the modal horizontally and add space from top */
            box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
            position: relative;
        }

        .close {
            font-size: 28px;
            font-weight: bold;
            color: #aaa;
            position: absolute;
            top: 10px;
            right: 20px;
            cursor: pointer;
        }

        .close:hover,
        .close:focus {
            color: black;
            text-decoration: none;
        }

        /* Styling for form elements */

        input[type="date"],
        input[type="time"],
        textarea,
        input[type="file"] {
            width: 100%;
            max-width: 400px; /* Limit max-width */
            margin-bottom: 15px;
            padding: 10px;
            border: 1px solid #ccc;
            border-radius: 4px;
        }

        .btn-submit {
            background-color: var(--primary-color);
            color: white;
            border: none;
            padding: 10px 15px;
            font-size: 16px;
            border-radius: 5px;
            cursor: pointer;
            transition: background-color 0.3s;
        }

        .btn-submit:hover {
            background-color: #540A8E;
        }
    }

    .clockinout .modal-content {
        max-width: 500px;
        padding: 30px;
        display: inline-block;
    }

.clockinout .modal-content button {
width: auto;
}

.clockinout .modal-content span.close {
    float: right;
}

.clockinout {
        .modal {
            display: flex;
            justify-content: center;
            align-items: center;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.5);
        }

        h3 {
            color: var(--primary-color);
            margin-bottom: 20px;
        }

        .modal-content {
            background: white;
            padding: 70px;
            border-radius: 5px;
            text-align: center;
            width: 500px;
            display: flex; /* Use flex layout */
            justify-content: center; /* Center content horizontally */
            align-items: center; /* Align buttons vertically */
            gap: 10px; /* Add space between the buttons */
        }

        .close {
            position: absolute;
            top: 15px;
            right: 25px;
            cursor: pointer;
            font-size: 30px; /* Increase font size */
            font-weight: bold; /* Make it bolder */
            color: #333; /* Adjust color as needed */
            padding: 20px; /* Add padding to make it easier to click */
            background-color: transparent; /* Ensure background is transparent */
            border: none; /* Remove any borders */
        }

        .clockinout-btn, .btn-cancel {
            background-color: var(--primary-color); /* Purple background for clockinout-btn */
            color: white; /* White text for clockinout-btn */
            border: none; /* No border for clockinout-btn */
            border-radius: 8px; /* Rounded corners */
            padding: 12px 35px; /* Button padding */
            text-align: center; /* Center the text */
            font-size: 14px; /* Adjust font size */
            display: flex; /* Ensures buttons behave as flex items */
            justify-content: center;
            cursor: pointer; /* Pointer cursor on hover */
            transition: all 0.3s ease; /* Smooth transition for hover effects */
            width: 65%; /* Buttons will now take up equal width */
        }

        .btn-cancel {
            background: transparent;
            border: 1px solid #ccc; /* Border for visibility */
            color: #000; /* Text color */
            font-size: 14px;
            padding: 12px 35px; /* Padding for button size */
        }

        .btn-cancel:hover {
            background: #f5f5f5; /* Hover effect */
            color: #333; /* Hover text color */
        }


        .btn-customIn {
            background-color: var(--primary-color); /* Purple background */
            color: white; /* White text */
            border: none; /* No border */
            border-radius: 8px; /* Rounded corners */
            padding: 5px 20px; /* Button padding */
            text-align: center; /* Center the text */
            text-decoration: none; /* Remove underline for links */
            font-size: 16px; /* Adjust font size */
            display: inline-block; /* Allow proper spacing for multiple buttons */
            cursor: pointer; /* Pointer cursor on hover */
            transition: all 0.3s ease; /* Smooth transition for hover effects */
            margin: 0 5px 5px 0;

        }

        .btn-customOOO {
            background-color: var(--primary-color); /* Purple background */
            color: white; /* White text */
            border: none; /* No border */
            border-radius: 8px; /* Rounded corners */
            padding: 5px 20px; /* Button padding */
            text-align: center; /* Center the text */
            text-decoration: none; /* Remove underline for links */
            font-size: 16px; /* Adjust font size */
            display: inline-block; /* Allow proper spacing for multiple buttons */
            cursor: pointer; /* Pointer cursor on hover */
            transition: all 0.3s ease; /* Smooth transition for hover effects */
            margin: 0 5px 5px 0;

        }


        .btn-customOut {
            background-color: var(--primary-color); /* Purple background */
            color: white; /* White text */
            border: none; /* No border */
            border-radius: 8px; /* Rounded corners */
            padding: 5px 20px; /* Button padding */
            text-align: center; /* Center the text */
            text-decoration: none; /* Remove underline for links */
            font-size: 16px; /* Adjust font size */
            display: inline-block; /* Allow proper spacing for multiple buttons */
            cursor: pointer; /* Pointer cursor on hover */
            transition: all 0.3s ease; /* Smooth transition for hover effects */
            margin: 0 5px 5px 0;

        }

        .info-container {
            display: flex;
            justify-content: space-between; /* Align items to left and right */
            align-items: center;
            padding: 15px;
            gap: 15px;
        }

        .info-time {
            color: var(--primary-color);
            font-weight: bold;
            font-size: 16px;
            margin: 0;
            white-space: nowrap;
        }

        .btn-customInOut {
            background-color: var(--primary-color);
            color: white;
            border: none;
            border-radius: 8px;
            padding:5px 20px;
            font-size: 16px;
            cursor: pointer;
            transition: background-color 0.3s ease;
            margin: 0 5px 5px 0;
        }

        .btn-customInOut:hover {
            background-color: #540A8E;
        }

        .btn-right {
            margin-left: 35px; /* Push the button to the right */
        }

        .info-container p {
            text-align: center;
        }


    }


    /* Style for Modal */

    .ooo-modal {
        display: none; /* Hidden by default */
        position: fixed; /* Fixed to the screen */
        top: 0;
        left: 0;
        width: 100%; /* Full width */
        height: 100%; /* Full height */
        background-color: rgba(0, 0, 0, 0.4); /* Semi-transparent background */
        z-index: 1000; /* On top of other content */

        .input-icon {
            position: relative;
        }

        .input-icon i {
            position: absolute;
            right: 10px; /* Adjust for alignment */
            top: 50%;
            transform: translateY(-50%);
            color: #aaa; /* Icon color */
            pointer-events: none; /* Prevent interfering with input */
        }

        .input-icon input {
            padding-right: 30px; /* Ensure space for the icon */
        }


    /* Style for Modal Content */

    .modal-content {
        background-color: white;
        padding: 20px;
        border-radius: 5px;
        max-width: 600px; /* Max width */
        margin: 150px auto; /* Center the modal horizontally and add space from top */
        box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);

    }



    /* Close button */

    .close {
        font-size: 28px;
        font-weight: bold;
        color: #aaa;
        position: absolute;
        top: 10px;
        right: 20px;
        cursor: pointer;
    }

    .close:hover,
    .close:focus {
        color: black;
        text-decoration: none;
    }

    /* Center the form inside the modal */

    form {
        display: flex;
        flex-direction: column;

    }

    /* Align input fields */

    input[type="text"],
    input[type="number"],
    input[type="datetime-local"],
    input[type="date"],
    input[type="time"],
    select {
        width: 100%; /* Make inputs and dropdown take up full width of the form */
        max-width: 400px; /* Limit max-width */
        margin-bottom: 15px;
        padding: 10px;
        border: 1px solid #ccc;
        border-radius: 4px;

    }

    /* Container to hold Masa Keluar and Masa Masuk side by side */

    .masa-group {
        display: flex;
        justify-content: space-between; /* Space them evenly */
        gap: 15px; /* Optional: Adjust space between the inputs */
    }

    /* Adjust input fields to fit next to each other */

    .masa-group input[type="datetime-local"] {
        width: 48%; /* Adjust width to fit side by side */
    }

}


    /* Profile Card */
    .profile-card{
        gap: 10px;
    }
    .profile-card img {
        max-width: 120px;
    }

    .profile-avatar {
        width: 120px;
        height: 120px; /* Enforce consistent dimensions */
        border-radius: 50%; /* Ensure circular shape */
        object-fit: cover; /* Crop the image to fit within the dimensions */
    }


    .profile-card h2 {
        font-size: 24px;
        font-weight: 700;
        color: #2c384e;
        margin: 10px 0 0 0;
    }

    .profile-card h3 {
        font-size: 18px;
        text-align: center;
    }

    .profile-card .social-links a {
        font-size: 20px;
        display: inline-block;
        color: rgba(1, 41, 112, 0.5);
        line-height: 0;
        margin-right: 10px;
        transition: 0.3s;
    }

    .profile-card .social-links a:hover {
        color: #012970;
    }

    /* Profile Overview */
    .profile-overview .row {
        margin-bottom: 20px;
        font-size: 15px;
    }

    .profile-overview .card-title {
        color: #012970;
    }

    .profile-overview .label {
        font-weight: 600;
        color: rgba(1, 41, 112, 0.6);
    }

    /* Profile Edit */
    .profile-edit label {
        font-weight: 600;
        color: rgba(1, 41, 112, 0.6);
    }

    .profile-edit img {
        max-width: 120px;
    }

    .input-spacing {
        margin-bottom: 15px; /* Adjust as needed */
    }

    .custom-select {
        position: relative;
        display: inline-block;
        width: 100%; /* Set width to 100% to make it responsive */
        height: 40px; /* Adjust height as needed */
        border: 1px solid #673AB7;
        border-radius: 5px;
        background-color: #fff;
        color: #673AB7;
        cursor: pointer;
        font-family: Arial, sans-serif;
        font-size: 14px;
        padding: 5px;
        box-sizing: border-box; /* Ensure padding doesn't affect width */
    }

    .custom-select select {
        width: 100%;
        height: 100%;
        border: none;
        background-color: transparent;
        appearance: none;
        -webkit-appearance: none; /* Remove default styling for Webkit browsers */
        -moz-appearance: none; /* Remove default styling for Firefox */
        padding: 5px;
        color: #673AB7; /* Set text color */
        font-size: inherit; /* Ensure consistent font size */
    }

    .custom-select select option {
        color: #673AB7; /* Set option text color */
    }

    .custom-select::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translateY(-50%);
        width: 0;
        height: 0;
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-top: 10px solid #673AB7;
        pointer-events: none;
    }

    .center-buttons {
        display: flex;
        justify-content: center; /* Centers buttons horizontally */
        gap: 10px; /* Optional: Adds space between the buttons */
    }

    .center-buttons .btn{
        /* width: 100px; */
    }


    .org-chart {
        align-items: center;

        margin-top: 20px;


        .chart-item {
            display: block;
            text-align: center;
            padding: 10px 0px;
            background-color: white; /* Purple background */
            color: var(--primary-color);
            border-radius: 10px;
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
            position: relative;
            width: 250px;
            font-weight: bold;
            margin: 10px auto;
        }

        .chart-item .name {
            font-weight: bold;
            padding: 10px;
            width: 250px;
            background-color: var(--primary-color); /* White background for text */
            color: white; /* Purple text */
            border-radius: 5px;
            display: inline-block;
        }

        .chart-item .position {
            font-size: 0.9em;
            margin-top: 5px;
        }

        .line {
            display: block;
            width: 2px;
            height: 25px;
            background-color: #6a0dad;
            margin: 0 auto;
        }
    }

    /* Styles for the container */
    .kewangan {
        padding: 20px;
        margin: 0 auto;

        /* Row styling */
        .row {
            margin: 0;
            display: flex;
            flex-wrap: wrap;
        }

        /* Column styling */
        .kewangan-item {
            padding: 10px;
            box-sizing: border-box;
        }

        /* Section headings */

        h5 {
            font-size: 1rem;
            font-weight: bold;
            margin-bottom: 15px;
            color: var(--primary-color);
        }

        /* Form group styling */

        .form-group {
            margin-bottom: 20px;
        }

        /* Label styling */

        .form-group label {
            font-size: 1rem;
            font-weight: lighter;
            display: block;
            margin-bottom: 5px;
        }

        /* Input group styling */

        .input-group {
            display: flex;
            align-items: center;
            background-color: #f8f9fa;
            border: 1px solid #ced4da;
            border-radius: 8px;
            overflow: hidden;
        }

        .input-group-prepend .input-group-text {
            background-color: #f8f9fa;
            border: none;
            font-size: 0.9rem;
            color: #6c757d;
            padding: 0 10px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .input-group .form-control {
            border: none;
            background: none;
            font-size: 0.9rem;
            color: #6c757d;
            padding: 10px 0;
            width: 100px;
        }

        .input-group .form-control::placeholder {
            color: #a9a9a9;
            font-weight: 500;
        }

        .input-group-text {
            border: none;
            background-color: #f8f9fa;
            font-size: 0.9rem;
            color: #6c757d;
            padding: 0 10px;
        }

        .input-group-text:nth-of-type(2) {
            margin: 0 5px;
        }

        /* Button styling */

        .btn {
            font-size: 1rem;
            font-weight: 500;
            width: 100px;
            cursor: pointer;
        }

        .btn-primary {
            border: none;
            color: #fff;
        }

    }

}


/*--------------------------------------------------------------
# ooo applications blade
--------------------------------------------------------------*/

/* Table Container */
.ooo-container {
    padding: 20px;
    background-color: #ffffff; /* White background */
    border-radius: 10px; /* Rounded corners */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Subtle shadow */


    /* Table Styles */

    .table {
        width: 100%;
        border-collapse: collapse; /* Remove border spacing */
        margin-bottom: 0;
    }

    /* Header Styling */

    .table thead th {
        text-align: left
        font-size: 16px;
        font-weight: bold;
        color: #6a38bb; /* Purple color for text */
        padding: 12px 10px;
        border-bottom: 2px solid #ddd; /* Light bottom border */
    }

    /* Row and Cell Styling */

    .table tbody td {
        text-align: left;
        font-size: 14px;
        color: #333; /* Dark text for rows */
        padding: 10px 8px;
        border-bottom: 1px solid #eee; /* Light row separator */
    }

    /* Empty State Styling */

    .table tbody tr.empty-row td {
        text-align: center;
        color: #9e9e9e; /* Light gray text for "no results" */
        font-style: italic;
    }

    /* Footer or Bottom Text */

    .footer-text {
        text-align: center;
        font-size: 14px;
        color: #6a38bb; /* Purple color */
        padding: 10px;
        margin-top: 20px;
    }
}

/*--------------------------------------------------------------
# ooo approval blade
--------------------------------------------------------------*/

/* Table Container */
.ooo-approval-container {
    padding: 20px;
    background-color: #ffffff; /* White background */
    border-radius: 10px; /* Rounded corners */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Subtle shadow */


    /* Table Styles */

    .table {
        width: 100%;
        border-collapse: collapse; /* Remove border spacing */
        margin-bottom: 0;
    }

    /* Header Styling */

    .table thead th {
        text-align: center;
        font-size: 16px;
        font-weight: bold;
        color: #6a38bb; /* Purple color for text */
        padding: 12px 10px;
        border-bottom: 2px solid #ddd; /* Light bottom border */
    }

    /* Row and Cell Styling */

    .table tbody td {
        text-align: center;
        font-size: 14px;
        color: #333; /* Dark text for rows */
        padding: 10px 8px;
        border-bottom: 1px solid #eee; /* Light row separator */
    }

    /* Empty State Styling */

    .table tbody tr.empty-row td {
        text-align: center;
        color: #9e9e9e; /* Light gray text for "no results" */
        font-style: italic;
    }

    /* Footer or Bottom Text */

    .footer-text {
        text-align: center;
        font-size: 14px;
        color: #6a38bb; /* Purple color */
        padding: 10px;
        margin-top: 20px;
    }
}

/*--------------------------------------------------------------
# lewat applications blade
--------------------------------------------------------------*/

/* Table Container */
.lewat-container {
    padding: 20px;
    background-color: #ffffff; /* White background */
    border-radius: 10px; /* Rounded corners */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Subtle shadow */


    /* Table Styles */

    .table {
        width: 100%;
        border-collapse: collapse; /* Remove border spacing */
        margin-bottom: 0;
    }

    /* Header Styling */

    .table thead th {
        text-align: center;
        font-size: 16px;
        font-weight: bold;
        color: #6a38bb; /* Purple color for text */
        padding: 12px 10px;
        border-bottom: 2px solid #ddd; /* Light bottom border */
    }

    /* Row and Cell Styling */

    .table tbody td {
        text-align: center;
        font-size: 14px;
        color: #333; /* Dark text for rows */
        padding: 10px 8px;
        border-bottom: 1px solid #eee; /* Light row separator */
    }

    /* Empty State Styling */

    .table tbody tr.empty-row td {
        text-align: center;
        color: #9e9e9e; /* Light gray text for "no results" */
        font-style: italic;
    }

    /* Footer or Bottom Text */

    .footer-text {
        text-align: center;
        font-size: 14px;
        color: #6a38bb; /* Purple color */
        padding: 10px;
        margin-top: 20px;
    }
}

/*--------------------------------------------------------------
# lewat approval blade
--------------------------------------------------------------*/

/* Table Container */
.lewat-approval-container {
    padding: 20px;
    background-color: #ffffff; /* White background */
    border-radius: 10px; /* Rounded corners */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Subtle shadow */


    /* Table Styles */

    .table {
        width: 100%;
        border-collapse: collapse; /* Remove border spacing */
        margin-bottom: 0;
    }

    /* Header Styling */

    .table thead th {
        text-align: center;
        font-size: 16px;
        font-weight: bold;
        color: #6a38bb; /* Purple color for text */
        padding: 12px 10px;
        border-bottom: 2px solid #ddd; /* Light bottom border */
    }

    /* Row and Cell Styling */

    .table tbody td {
        text-align: center;
        font-size: 14px;
        color: #333; /* Dark text for rows */
        padding: 10px 8px;
        border-bottom: 1px solid #eee; /* Light row separator */
    }

    /* Empty State Styling */

    .table tbody tr.empty-row td {
        text-align: center;
        color: #9e9e9e; /* Light gray text for "no results" */
        font-style: italic;
    }

    /* Footer or Bottom Text */

    .footer-text {
        text-align: center;
        font-size: 14px;
        color: #6a38bb; /* Purple color */
        padding: 10px;
        margin-top: 20px;
    }

    .modal-header {
        display: flex;
        justify-content: space-between; /* Ensure the close button aligns properly */
        align-items: center; /* Vertically aligns header content */
    }

    .btn-close {
        position: static; /* Ensure it's not absolute or relative unless necessary */
    }
    .modal-content {
        overflow: hidden; /* Prevent overflowing child elements */
    }
    .modal-header .btn-close {
        margin-left: auto; /* Push it to the far right */
        margin-right: 0; /* Prevent excess spacing */
    }


}
/*--------------------------------------------------------------
# profile payslip
--------------------------------------------------------------*/
.profile-payslip {
    /* Card Styling */
    .card {
        border-radius: 10px;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
        background-color: #ffffff;
    }

    .card-header {
        background-color: #ffffff;
        border-bottom: 2px solid #f4f4f8;
        padding: 15px 20px;
    }

    .card-header h3 {
        margin: 0;
        font-size: 18px;
        font-weight: 600;
    }

    .card-body {
        padding: 20px;
    }

    /* Table Styling */
    .table {
        width: 100%;
        margin-top: 20px;
    }

    .table thead tr {
        border-bottom: 2px solid #f4f4f8;
        font-size: 14px;
        color: #7a7a7a;
    }

    .table tbody tr {
        border-bottom: 1px solid #f4f4f8;
    }

    .table tbody td {
        font-size: 14px;
        vertical-align: middle;
    }

    /* Remove Hover Effects for Icons */
    .table tbody td a {
        text-decoration: none;
        color: #7a7a7a;
        transition: none;
    }

    .table tbody td a:hover {
        color: #7a7a7a; /* No change on hover */
    }

    /* Buttons and Alignment */
    .text-end {
        text-align: end !important;
    }

    .btn-primary {
        background-color: #7a3af1;
        border: none;
        padding: 10px 20px;
        font-size: 14px;
        border-radius: 6px;
    }

    .btn-primary:hover {
        background-color: #6a2fe4;
    }

    i {
        font-size: 16px;
    }

    /* Sidebar Layout */
    .profile-payslip {
        padding: 20px;
    }

}

/*--------------------------------------------------------------
# profile borangea
--------------------------------------------------------------*/
.profile-borangea {
    /* Card Styling */
    .card {
        border-radius: 10px;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
        background-color: #ffffff;
    }

    .card-header {
        background-color: #ffffff;
        border-bottom: 2px solid #f4f4f8;
        padding: 15px 20px;
    }

    .card-header h3 {
        margin: 0;
        font-size: 18px;
        font-weight: 600;
    }

    .card-body {
        padding: 20px;
    }

    /* Table Styling */
    .table {
        width: 100%;
        margin-top: 20px;
    }

    .table thead tr {
        border-bottom: 2px solid #f4f4f8;
        font-size: 14px;
        color: #7a7a7a;
    }

    .table tbody tr {
        border-bottom: 1px solid #f4f4f8;
    }

    .table tbody td {
        font-size: 14px;
        vertical-align: middle;
    }

    /* Remove Hover Effects for Icons */
    .table tbody td a {
        text-decoration: none;
        color: #7a7a7a;
        transition: none;
    }

    .table tbody td a:hover {
        color: #7a7a7a; /* No change on hover */
    }

    /* Buttons and Alignment */
    .text-end {
        text-align: end !important;
    }

    .btn-primary {
        background-color: #7a3af1;
        border: none;
        padding: 10px 20px;
        font-size: 14px;
        border-radius: 6px;
    }

    .btn-primary:hover {
        background-color: #6a2fe4;
    }

    i {
        font-size: 16px;
    }

    /* Sidebar Layout */
    .profile-borangea {
        padding: 20px;
    }

}

/*--------------------------------------------------------------
# F.A.Q Page
--------------------------------------------------------------*/
.faq .basic h6 {
  font-size: 18px;
  font-weight: 600;
  color: var(--primary-color);
}

.faq .basic p {
  color: #6980aa;
}

.faq-row .accordion {
    margin-bottom: 30px;
}

.faq-row h4 {
    font-size: var(--bs-subtitle-font-size);
    margin-bottom: 10px;
}

/*--------------------------------------------------------------
# Contact
--------------------------------------------------------------*/
.contact .info-box {
  padding: 28px 30px;
}

.contact .info-box i {
  font-size: 38px;
  line-height: 0;
  color: var(--primary-color);
}

.contact .info-box h3 {
  font-size: 20px;
  color: #012970;
  font-weight: 700;
  margin: 20px 0 10px 0;
}

.contact .info-box p {
  padding: 0;
  line-height: 24px;
  font-size: 14px;
  margin-bottom: 0;
}

.contact .php-email-form .error-message {
  display: none;
  color: #fff;
  background: #ed3c0d;
  text-align: left;
  padding: 15px;
  margin-bottom: 24px;
  font-weight: 600;
}

.contact .php-email-form .sent-message {
  display: none;
  color: #fff;
  background: #18d26e;
  text-align: center;
  padding: 15px;
  margin-bottom: 24px;
  font-weight: 600;
}

.contact .php-email-form .loading {
  display: none;
  background: #fff;
  text-align: center;
  padding: 15px;
  margin-bottom: 24px;
}

.contact .php-email-form .loading:before {
  content: "";
  display: inline-block;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  margin: 0 10px -6px 0;
  border: 3px solid #18d26e;
  border-top-color: #eee;
  animation: animate-loading 1s linear infinite;
}

.contact .php-email-form input,
.contact .php-email-form textarea {
  border-radius: 0;
  box-shadow: none;
  font-size: 14px;
  border-radius: 0;
}

.contact .php-email-form input:focus,
.contact .php-email-form textarea:focus {
  border-color: var(--primary-color);
}

.contact .php-email-form input {
  padding: 10px 15px;
}

.contact .php-email-form textarea {
  padding: 12px 15px;
}

.contact .php-email-form button[type="submit"] {
  background: var(--primary-color);
  border: 0;
  padding: 10px 30px;
  color: #fff;
  transition: 0.4s;
  border-radius: 4px;
}

.contact .php-email-form button[type="submit"]:hover {
  background: #5969f3;
}

@keyframes animate-loading {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/*--------------------------------------------------------------
# Error 404
--------------------------------------------------------------*/
.error-404 {
  padding: 30px;
}

.error-404 h1 {
  font-size: 180px;
  font-weight: 700;
  color: var(--primary-color);
  margin-bottom: 0;
  line-height: 150px;
}

.error-404 h2 {
  font-size: 24px;
  font-weight: 700;
  color: #012970;
  margin-bottom: 30px;
}

.error-404 .btn {
  background: #51678f;
  color: #fff;
  padding: 8px 30px;
}

.error-404 .btn:hover {
  background: #3e4f6f;
}

@media (min-width: 992px) {
  .error-404 img {
    max-width: 50%;
  }
}

/*--------------------------------------------------------------
# Kehadiran
--------------------------------------------------------------*/
#attendance-table {
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    overflow: hidden; /* Ensure rounded corners are visible */
}

#attendance-table .tabulator-header {
    background-color: var(--primary-color) !important; /* Primary color (Bootstrap primary color) */
    color: white !important; /* White text for better contrast */
    font-weight: bold;
    font-size: 14px;
    border-bottom: 2px solid; /* Slightly darker border for emphasis */
}

#attendance-table .tabulator-header .tabulator-col {
    background-color: var(--primary-color) !important; /* Primary color (Bootstrap primary color) */
    border: none; /* Remove individual header borders */
}

#attendance-table .tabulator-row {
    border-bottom: 1px solid #ddd; /* Light row separators */
}

#attendance-table .tabulator-row:hover {
    background-color: #f8f9fa; /* Subtle hover effect */
}

#attendance-table .tabulator-tableHolder {
    border-radius: 8px;
}

/*--------------------------------------------------------------
# Kenderaan
--------------------------------------------------------------*/
.kenderaan .custom-input {
    background-color: #F3F3F3;
    border-radius: 8px;
    border: 1px;
    box-sizing: border-box;
    color: #444;
    font-size: 14px;
    padding: 10px;
    width: 100%;
}

.kenderaan .custom-input:focus {
    border-color: var(--primary-color);
    outline: none;
    box-shadow: 0 0 5px rgba(65, 84, 241, 0.2);
}

.kenderaan .custom-input-group {
    max-width: 100%;
    flex-wrap: nowrap;
}

.kenderaan .small-input {
    width: 100px !important;
    padding: 5px;
    font-size: 14px;
    text-align: center;
}

.kenderaan .custom-input.small-input {
    width: 100px !important;
}

.kenderaan .smaller-input {
    width: 200px;
    text-align: center;
}

.kenderaan .travel-legend {
    font-size: 18px;
    font-weight: bold;
    color: var(--primary-color);
    margin-bottom: 20px;
    text-align: left;
}

.kenderaan .custom-button {
    width: 100px;
    background-color: var(--primary-color);
    color: white;
}

.kenderaan .row.justify-content-center {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.kenderaan .row.justify-content-start {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

/* Label styling */
.kenderaan label {
    font-weight: bold;
    font-size: 16px;
    color: var(--primary-color);
    margin-bottom: 10px;
}

.kenderaan .input-with-text {
    display: flex;
    align-items: center;
}

.kenderaan .input-with-text input {
    margin-right: 10px;
    text-align: center;
}

.kenderaan .small-input {
    width: 80px;
}

.kenderaan select {
    background-color: transparent;
    padding: 10px;
    border-radius: 8px;
    width: 100%;
    border: 2px solid var(--primary-color);
    color: var(--primary-color);
    font-weight: bold;
    font-size: 14px;
    transition: border-color 0.3s, box-shadow 0.3s;
}

.kenderaan select:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 8px rgba(111, 30, 211, 0.2);
    outline: none;
}

.kenderaan select option {
    color: #444;
}

.kenderaan .custom-select-wrapper {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
}

.kenderaan .custom-select-wrapper select {
    width: 100%;
    padding-right: 40px;
    border: 1px solid var(--primary-color);
    border-radius: 8px;
    font-weight: normal;
    color: var(--primary-color);
    background-color: transparent;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.kenderaan .custom-select-wrapper select:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 8px rgba(111, 30, 211, 0.2);
    outline: none;
}

.kenderaan .custom-select-wrapper .select-icon {
    position: absolute;
    right: 10px;
    pointer-events: none;
    color: var(--primary-color);
    font-size: 18px;
}

.kenderaan .custom-select-wrapper select option {
    font-weight: normal;
    padding: 10px;
    background-color: white;
    color: var(--primary-color);
    border: none;
    font-weight: lighter;
}

/* Flex container for label and select */
.kenderaan .dropdown-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

/* Label styles */
.kenderaan .dropdown-label {
    font-size: 16px;
    margin-right: 15px;
    color: var(--primary-color);
    white-space: nowrap;
}

.kenderaan .custom-select-wrapper {
    position: relative;
    width: 100%;
}

.kenderaan .select {
    width: 100%;
    padding: 10px;
    border-radius: 8px;
    border: 2px solid var(--primary-color);
    font-size: 14px;
    font-weight: lighter;
    color: var(--primary-color);
    appearance: none;
    background-color: transparent;
}

.kenderaan .select-icon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    color: var(--primary-color);
}

.kenderaan .form-row {
    margin-bottom: 20px;
}

.kenderaan .form-group {
    min-height: 130px;
}

.kenderaan .custom-button {
    background-color: var(--primary-color);
    color: white;
    padding: 10px 80px !important;
    border-radius: 8px;
    border: none;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    white-space: nowrap;
}

.kenderaan .custom-button:hover {
    background-color: #5a0ecb;
    color: white;
    box-shadow: 0 4px 8px rgba(65, 84, 241, 0.2);
}

.kenderaan .button-group {
    display: flex;
    gap: 15px;
    margin-bottom: 20px;
}

.kenderaan .btn {
    font-weight: bold;
    font-size: 14px;
    padding: 10px;
    border-radius: 10px;
}

.kenderaan .button-group .btn {
    margin-left: 10px;
    font-weight: bold;
    font-size: 14px;
    padding: 10px;
    border-radius: 10px;
    width: 200px;
    transition: background-color 0.3s, color 0.3s;
}

.kenderaan .new-application {
    background-color: var(--primary-color);
    color: white;
    border: none;
}

.kenderaan .new-application i {
    margin-right: 5px;
}

.kenderaan .btn-outline-primary {
    border-color: var(--primary-color);
    color: var(--primary-color) !important;
    background-color: transparent;
    width: 200px;
}

.kenderaan .btn-outline-primary.active {
    background-color: var(--primary-color);
    color: white !important;
}

.kenderaan .btn-outline-primary i {
    margin-right: 8px;
}

.kenderaan .btn-outline-primary:hover {
    background-color: var(--primary-color);
    color: white;
}

.kenderaan .new-application:hover {
    background-color: var(--primary-color);
    color: white;
}

.kenderaan .btn i {
    font-size: 16px;
    vertical-align: middle;
}

.kenderaan .edit-link {
    color: var(--primary-color);
    font-weight: bold;
}

/* Ensure that input fields and labels align vertically */
.kenderaan .input-group {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.kenderaan .input-group-text {
    background-color: transparent;
    border: none;
    padding-left: 8px;
}

.kenderaan .custom-input {
    background-color: #F7F7F7;
    border-radius: 8px;
    padding: 10px;
    flex-grow: 1;
}

.kenderaan .unit-label {
    margin-left: 8px;
    color: #444;
    font-size: 14px;
}

/* Radio Buttons */
.kenderaan .d-flex {
    display: flex;
    justify-content: flex-start;
}

.kenderaan .form-check {
    display: flex;
    align-items: center;
    margin-right: 10px;
    margin-bottom: 30px;
}

.kenderaan .form-label {
    font-weight: bold;
    color: var(--primary-color);
}

.kenderaan .d-flex.align-items-center {
    align-items: baseline;
}

.kenderaan .form-check-label {
    margin-left: 5px;
    margin-right: 20px;
}

.kenderaan .form-check-input {
    margin-right: 8px;
    width: 25px;
    height: 25px;
    vertical-align: middle;
}

.kenderaan .inline {
    width: unset;
    margin: 0 0.9em 0 0;
    vertical-align: middle;
}

/* Card and form container */
.kenderaan .card {
    border-radius: 10px;
    box-shadow: 0 0 30px rgba(1, 41, 112, 0.2);
    padding: 20px;
    min-height: 270px;
}

.kenderaan .card-header {
    background-color: transparent;
    border-bottom: 1px solid #ebeef4;
}

.kenderaan .card-body {
    padding: 20px;
}

/* Form tab links */
.kenderaan .nav-tabs .nav-link {
    background-color: transparent;
    color: #444;
    border-radius: 8px;
    padding: 10px 20px;
    margin-right: 10px;
    font-weight: bold;
    border: 1px solid #ddd;
    transition: background-color 0.3s, color 0.3s;
}

.kenderaan .nav-tabs .nav-link.active {
    background-color: var(--primary-color); /* Background for active tab */
    color: white; /* Text color for active tab */
    border: 1px solid var(--primary-color); /* Border to match active background */
}

/* Hover effect for tabs */
.kenderaan .nav-pills .nav-link:hover {
    background-color: #d8d8d8; /* Lighter hover background */
    color: #000; /* Darker text on hover */
}

/* Remove underline from links */
.kenderaan .nav-pills .nav-link {
    text-decoration: none;
}

/* Custom grid adjustments for form layout */
.kenderaan .row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

@media (max-width: 576px) {
    .kenderaan .row {
        justify-content: flex-start;
        align-items: flex-start;
    }
}

.kenderaan .col-md-4 {
    flex-basis: 20%;
}

.kenderaan .col-md-6 {
    flex-basis: 48%;
}

@media (max-width: 576px) {
    .kenderaan .col-md-6 {
        flex-basis: 100%;
        max-width: 100%;
    }

    .kenderaan .col-md-4 {
        flex-basis: 100%;
        max-width: 100%;
    }
}

@media (max-width: 576px) {
    .kenderaan .row.mb-4 {
        margin-bottom: 1rem;
    }
}

@media (max-width: 576px) {
    .kenderaan .custom-button {
        width: 100%;
        padding: 12px;
    }

    .kenderaan .custom-input {
        width: 100%;
    }
}

.kenderaan textarea.custom-input {
    resize: none;
    height: 100px;
}

.kenderaan .input-with-text small {
    margin-left: 10px;
}

/* Hide the input by default for Lain-lain */
.kenderaan .input-lain-lain,
.kenderaan .input-lain-lain-hantar {
    display: none;
    margin-left: 10px; /* Adds space between checkbox and input */
    width: auto; /* Adjust width to fit inline */
    flex-grow: 1;
}

/* Show input field when checkbox is checked */
.kenderaan input#lain-lain:checked ~ .input-lain-lain {
    display: inline-block;
}

.kenderaan input#lain-lainHantar:checked ~ .input-lain-lain-hantar {
    display: inline-block;
}

/* To keep the checkbox and input in the same row */
.kenderaan .lain-lain-container,
.kenderaan .lain-lain-hantar-container {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

/* Permohonan Saya */
/* Kenderaan Table Design */
.kenderaan .table-hover tbody tr:hover {
    background-color: #f8f8f8;
}

.kenderaan .table thead th {
    font-weight: normal;
    font-size: 14px;
    /*color: var(--primary-color);*/
}

.kenderaan .table td, .kenderaan .table th {
    border-top: none;
    vertical-align: middle;
}

/* Status */
.kenderaan .status-waiting-review {
    color: #F8E113;
    font-weight: bold;
    background-color: transparent;
    border-radius: 0;
}

.kenderaan .status-approved {
    color: #18AF0B;
    font-weight: bold;
    background-color: transparent;
    border-radius: 0;
}

.kenderaan .status-rejected {
    color: red;
    font-weight: bold;
    background-color: transparent;
    border-radius: 0;
}

/* Button Styling */
.kenderaan .btn-outline-primary {
    border-color: var(--primary-color);
    color: var(--primary-color) !important;
    font-weight: bold;
    padding: 0.5em 1em;
    width: 200px;
}

.kenderaan .btn-outline-primary:hover {
    background-color: var(--primary-color);
    color: #fff !important;
}

.kenderaan .new-application {
    background-color: var(--primary-color);
    color: #fff !important;
    width: 200px;
}

.kenderaan .new-application:hover {
    background-color: #5a0ecb;
}

.kenderaan .view-application {
    background-color: transparent;
    border-color: var(--primary-color);
    color: #fff;
    width: 200px;
}

.kenderaan .view-application:hover {
    background-color: var(--primary-color);
    color: #fff;
}

.kenderaan .btn-permohonan-saya {
    background-color: var(--primary-color);
    color: #fff !important;
    width: 200px;
}

.kenderaan .btn-permohonan-saya a {
    color: white;
    text-decoration: none;
}

.kenderaan .btn-permohonan-saya:hover {
    background-color: #5A1AB0;
    color: white;
}

.kenderaan .btn-permohonan-saya a:hover {
    color: white;
}

.kenderaan .btn-primary {
    background-color: var(--primary-color) !important;
    color: white !important;
    padding: 5px 30px;
}

.kenderaan .btn-danger {
    background-color: #dc3545;
    color: white !important;
    padding: 5px 30px;
}

.text-white {
    color: white !important;
}

.kenderaan .h5-header {
    color: var(--primary-color);
    margin-bottom: 30px;
}

.kenderaan .kenderaan p {
    margin-bottom: 10px;
}

.kenderaan .kenderaan-details p {
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 8px;
}

.kenderaan .card-title {
    font-weight: bold;
    font-size: 1.2rem;
}

.kenderaan .card-body p {
    margin-bottom: 15px;
}

.kenderaan .content-wrapper {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
}

.kenderaan .row-data {
    display: flex;
    align-items: flex-start;
    margin-bottom: 20px;
}

.kenderaan .text-label {
    font-weight: bold;
    color: var(--primary-color);
    min-width: 200px;
    white-space: normal;
    line-height: 1.5;
}

.kenderaan .data-field {
    text-align: left;
    margin-left: 130px;
    margin-right: auto;
    word-wrap: break-word;
}

.kenderaan .custom-icon-link i {
    color: var(--primary-color);
    font-size: 24px;
    border: 2px solid var(--primary-color);
    padding: 5px;
}

.kenderaan .custom-icon-link i:hover {
    color: #4B0082;
    border-color: #4B0082;
}

/* Custom search bar style */
.kenderaan .custom-search-bar {
    border: 2px solid var(--primary-color) !important;
    border-left: none;
    border-radius: 8px;
    padding: 10px 20px;
    width: 100%;
    font-size: 14px;
    padding-left: 50px;
    margin-right: 20px;
}

.kenderaan .custom-search-bar:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 8px rgba(111, 30, 211, 0.2);
}

/* Custom Add Vehicle button */
.kenderaan .custom-add-btn {
    border-color: var(--primary-color);
    color: #FFFFFF !important;
    background-color: var(--primary-color);
    padding: 10px 20px;
    border-radius: 8px;
    transition: all 0.3s;
    margin-left: 20px;
    font-weight: bold;
}

.kenderaan .custom-add-btn:hover {
    background-color: var(--primary-color);
    color: #fff !important;
}

.kenderaan .search-icon {
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--primary-color);
    font-size: 18px;
}

.kenderaan .position-relative {
    position: relative;
    display: inline-block;
}

/* Notes section styling */
.kenderaan .custom-notes-input {
    border-radius: 10px;
    padding: 20px;
    height: 150px;
    width: 120%;
    resize: none;
    font-size: 16px;
    background-color: #F3F3F3;
}

.kenderaan .custom-notes-input:focus {
    border-color: var(--primary-color);
    outline: none;
    box-shadow: 0 0 8px rgba(111, 30, 211, 0.2);
}

/* Button styling */
.kenderaan .approve-btn {
    background-color: #18AF0B;
    border-color: #18AF0B;
    padding: 10px 20px;
    border-radius: 8px;
    font-size: 16px;
}

.kenderaan .reject-btn {
    background-color: #AF150B;
    border-color: #AF150B;
    padding: 10px 20px;
    border-radius: 8px;
    font-size: 16px;
}

.kenderaan .approve-btn:hover, .reject-btn:hover {
    opacity: 0.85;
}

.kenderaan .button-group-vertical {
    display: flex;
    flex-direction: column;
}

.kenderaan .custom-dropdown-vehicle-edit {
    width: 100%;
    padding: 10px 40px 10px 10px;
    border: 1px solid var(--primary-color);
    border-radius: 8px;
    font-weight: normal;
    color: var(--primary-color);
    background-color: transparent;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.kenderaan .custom-dropdown-vehicle-edit + .select-icon {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    color: var(--primary-color);
    font-size: 18px;
}

.kenderaan .name-column {
    /*padding-left: 25%;*/
    text-align: left;
    display: flex;
    align-items: center;
}

.kenderaan .name-column .staff-component-class {
    margin: 0;
}

/*--------------------------------------------------------------
# Announcement / Pengumuman Css
--------------------------------------------------------------*/

/* Custom Search Bar and Button */
.pengumuman .custom-search-bar {
    border: 2px solid var(--primary-color) !important;
    border-left: none;
    border-radius: 8px;
    padding: 10px 20px;
    width: 100%;
    font-size: 14px;
    padding-left: 50px;
    margin-right: 20px;
}

.pengumuman .custom-search-bar:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 8px rgba(111, 30, 211, 0.2);
}

/* Custom Add Vehicle button */
.pengumuman .custom-add-btn {
    border-color: var(--primary-color);
    color: #FFFFFF !important;
    background-color: var(--primary-color);
    padding: 10px 20px;
    border-radius: 8px;
    transition: all 0.3s;
    margin-left: 20px;
    font-weight: bold;
}

.pengumuman .custom-add-btn:hover {
    background-color: var(--primary-color);
    color: #fff !important;
}

.pengumuman .search-icon {
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--primary-color);
    font-size: 18px;
}

.pengumuman .position-relative {
    position: relative;
    display: inline-block;
}

.pengumuman .custom-input {
    background-color: #F3F3F3;
    border-radius: 8px;
    border: 1px;
    box-sizing: border-box;
    color: #444;
    font-size: 14px;
    padding: 10px;
    width: 100%;
}

.pengumuman .purple-text {
    color: #6F1ED3;
    font-weight: bold;
    margin-bottom: 5px;
}

.pengumuman .custom-input {
    background-color: #F3F3F3;
    border-radius: 8px;
    padding: 10px;
    width: 100%;
    margin-bottom: 10px;
}

.pengumuman .btn.custom-button {
    background-color: var(--primary-color);
    color: white;
    width: 150px; /* Adjust the width to match */
    height: 40px; /* Adjust the height to match */
    padding: 10px 80px !important;
    border-radius: 8px;
    border: none;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    white-space: nowrap;
    font-weight: bold;
}

.pengumuman .btn.custom-button:hover {
    background-color: #5a0ecb;
    color: white;
    box-shadow: 0 4px 8px rgba(65, 84, 241, 0.2);
}

.pengumuman .text-label {
    font-weight: bold;
    color: var(--primary-color);
    min-width: 200px;
    white-space: normal;
    line-height: 1.5;
}

.pengumuman .form-check-label {
    margin-left: 5px;
    margin-right: 20px;
    font-size: 16px;
}

.pengumuman .form-label {
    font-weight: bold;
    color: var(--primary-color);
}

.pengumuman .form-check-input {
    width: 20px;
    height: 20px;
    transform: scale(1.3);
    margin-right: 10px;
}

.pengumuman .table-hover tbody tr:hover {
    background-color: #f8f8f8;
}

.pengumuman .table thead th {
    font-weight: normal;
    font-size: 14px;
}

.pengumuman .table td, .pengumuman .table th {
    border-top: none;
    vertical-align: middle;
}

.pengumuman .custom-icon-link i {
    color: var(--primary-color);
    font-size: 24px;
    border: 2px solid var(--primary-color);
    padding: 5px;
}

.pengumuman .custom-icon-link i:hover {
    color: #4B0082;
    border-color: #4B0082;
}

/*--------------------------------------------------------------
# Custom Pagination Component
--------------------------------------------------------------*/
.pagination {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
}

.page-item {
    margin: 0 5px;
}

.page-item.active .page-link {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: white;
    border-radius: 5px;
}

.page-link {
    color: var(--primary-color);
    padding: 8px 16px;
    border: 1px solid var(--primary-color);
    border-radius: 5px;
    text-decoration: none;
}

.page-link:hover {
    background-color: var(--primary-color);
    color: white;
}

.page-item.disabled .page-link {
    color: #6c757d;
    cursor: not-allowed;
    background-color: #e9ecef;
    border-color: #dee2e6;
}

.page-item:first-child .page-link,
.page-item:last-child .page-link {
    border: none;
    background-color: transparent;
    color: var(--primary-color);
}

.page-item:first-child .page-link:hover,
.page-item:last-child .page-link:hover {
    background-color: #f8f9fa;
    color: #6f42c1;
}

/*--------------------------------------------------------------
# Vendor / merchant Css
--------------------------------------------------------------*/

/* Custom Search Bar and Button */
.merchant .custom-search-bar {
  border: 2px solid var(--primary-color) !important;
  border-left: none;
  border-radius: 8px;
  padding: 10px 20px;
  width: 100%;
  font-size: 14px;
  padding-left: 50px;
  margin-right: 20px;
}

.merchant .custom-search-bar:focus {
  outline: none;
  border-color: var(--primary-color);
  box-shadow: 0 0 8px rgba(111, 30, 211, 0.2);
}

/* Custom Add Vehicle button */
.merchant .custom-add-btn {
  border-color: var(--primary-color);
  color: #FFFFFF !important;
  background-color: var(--primary-color);
  padding: 10px 20px;
  border-radius: 8px;
  transition: all 0.3s;
  margin-left: 20px;
  font-weight: bold;
}

.merchant .custom-add-btn:hover {
  background-color: var(--primary-color);
  color: #fff !important;
}

.merchant .search-icon {
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--primary-color);
  font-size: 18px;
}

.merchant .position-relative {
  position: relative;
  display: inline-block;
}

.merchant .custom-input {
  background-color: #F3F3F3;
  border-radius: 8px;
  border: 1px;
  box-sizing: border-box;
  color: #444;
  font-size: 14px;
  padding: 10px;
  width: 100%;
}

.merchant .purple-text {
  color: #6F1ED3;
  font-weight: bold;
  margin-bottom: 5px;
}

.merchant .custom-input {
  background-color: #F3F3F3;
  border-radius: 8px;
  padding: 10px;
  width: 100%;
  margin-bottom: 10px;
}

.merchant .btn.custom-button {
  background-color: var(--primary-color);
  color: white;
  padding: 10px 80px !important;
  border-radius: 8px;
  border: none;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  white-space: nowrap;
  font-weight: bold;
}

.merchant .btn.custom-button:hover {
  background-color: #5a0ecb;
  color: #fff;
}

.merchant .text-label {
  font-weight: bold;
  color: var(--primary-color);
  min-width: 200px;
  white-space: normal;
  line-height: 1.5;
}

.merchant .form-check-label {
  margin-left: 5px;
  margin-right: 20px;
  font-size: 16px;
}

.merchant .form-label {
  font-weight: bold;
  color: var(--primary-color);
}

.merchant .form-check-input {
  width: 20px;
  height: 20px;
  transform: scale(1.3);
  margin-right: 10px;
}

.merchant .table-hover tbody tr:hover {
  background-color: #f8f8f8;
}

.merchant .table thead th {
  font-weight: normal;
  font-size: 14px;
  color: var(--primary-color);
}

.merchant .table.table-bordered thead th {
    color: #FFF;
}

.merchant .table td, .merchant .table th {
  border-top: none;
  vertical-align: middle;
}

.merchant .custom-icon-link i {
  color: var(--primary-color);
  font-size: 24px;
  border: 2px solid var(--primary-color);
  padding: 5px;
}

.merchant .custom-icon-link i:hover {
  color: #4B0082;
  border-color: #4B0082;
}

span.merchant-total-amount,
span.merchant-total-transaction {
  color: var(--primary-color); font-weight: bold; font-size: 2.0rem;
}

.merchant .bi-info-circle {
    color: #6c757d; /* Gray icon color */
    font-size: 1.2rem;
    margin-left: 10px;
}

.merchant .bi-info-circle:hover {
    color: #5a6268; /* Slightly darker on hover */
}

.merchant p {
    font-size: 0.95rem; /* Slightly smaller font size */
    color: #555555; /* Softer text color */
    line-height: 1.6; /* Improved line spacing */
    margin-bottom: 15px; /* Consistent bottom spacing */
    text-align: justify; /* Align text neatly */
}
/*--------------------------------------------------------------
# Vendor / pengurusan Css
--------------------------------------------------------------*/

/* Custom Search Bar and Button */
.pengurusan .custom-search-bar {
    border: 2px solid var(--primary-color) !important;
    border-left: none;
    border-radius: 8px;
    padding: 10px 20px;
    width: 100%;
    font-size: 14px;
    padding-left: 50px;
    margin-right: 20px;
  }

  .pengurusan .custom-search-bar:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 8px rgba(111, 30, 211, 0.2);
  }

  /* Custom Add Vehicle button */
  .pengurusan .custom-add-btn {
    border-color: var(--primary-color);
    color: #FFFFFF !important;
    background-color: var(--primary-color);
    padding: 10px 20px;
    border-radius: 8px;
    transition: all 0.3s;
    margin-left: 20px;
    font-weight: bold;
  }

  .pengurusan .custom-add-btn:hover {
    background-color: var(--primary-color);
    color: #fff !important;
  }

  .pengurusan .search-icon {
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--primary-color);
    font-size: 18px;
  }

  .pengurusan .position-relative {
    position: relative;
    display: inline-block;
  }

  .pengurusan .custom-input {
    background-color: #F3F3F3;
    border-radius: 8px;
    border: 1px;
    box-sizing: border-box;
    color: #444;
    font-size: 14px;
    padding: 10px;
    width: 100%;
  }

  .pengurusan .purple-text {
    color: #6F1ED3;
    font-weight: bold;
    margin-bottom: 5px;
  }

  .pengurusan .custom-input {
    background-color: #F3F3F3;
    border-radius: 8px;
    padding: 10px;
    width: 100%;
    margin-bottom: 10px;
  }

  .pengurusan .btn.custom-button {
    background-color: var(--primary-color);
    color: white;
    padding: 10px 80px !important;
    border-radius: 8px;
    border: none;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    white-space: nowrap;
    font-weight: bold;
  }

  .pengurusan .btn.custom-button:hover {
    background-color: #5a0ecb;
    color: #fff;
  }

  .pengurusan .text-label {
    font-weight: bold;
    color: var(--primary-color);
    min-width: 200px;
    white-space: normal;
    line-height: 1.5;
  }

  .pengurusan .form-check-label {
    margin-left: 5px;
    margin-right: 20px;
    font-size: 16px;
  }

  .pengurusan .form-label {
    font-weight: bold;
    color: var(--primary-color);
  }

  .pengurusan .form-check-input {
    width: 20px;
    height: 20px;
    transform: scale(1.3);
    margin-right: 10px;
  }

  .pengurusan .table-hover tbody tr:hover {
    background-color: #f8f8f8;
  }

  .pengurusan .table thead th, .table.table-bordered th {
    font-weight: normal;
    font-size: 14px;
    color: white;
    background: var(--primary-color);
  }

  .pengurusan .table td, .pengurusan .table th {
    border-top: none;
    vertical-align: middle;
  }

  .pengurusan .custom-icon-link i {
    color: var(--primary-color);
    font-size: 24px;
    border: 2px solid var(--primary-color);
    padding: 5px;
  }

  .pengurusan .custom-icon-link i:hover {
    color: #4B0082;
    border-color: #4B0082;
  }

  span.pengurusan-total-amount,
  span.pengurusan-total-transaction {
    color: var(--primary-color); font-weight: bold; font-size: 2.0rem;
  }


/*--------------------------------------------------------------
# Student Css
--------------------------------------------------------------*/

/* Custom Search Bar and Button */
.student .custom-search-bar {
  border: 2px solid var(--primary-color) !important;
  border-left: none;
  border-radius: 8px;
  padding: 10px 20px;
  width: 100%;
  font-size: 14px;
  padding-left: 50px;
  margin-right: 20px;
}

.student .custom-search-bar:focus {
  outline: none;
  border-color: var(--primary-color);
  box-shadow: 0 0 8px rgba(111, 30, 211, 0.2);
}

/* Custom Add Vehicle button */
.student .custom-add-btn {
  border-color: var(--primary-color);
  color: #FFFFFF !important;
  background-color: var(--primary-color);
  padding: 10px 20px;
  border-radius: 8px;
  transition: all 0.3s;
  margin-left: 20px;
  font-weight: bold;
}

.student .custom-add-btn:hover {
  background-color: var(--primary-color);
  color: #fff !important;
}

.student .search-icon {
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--primary-color);
  font-size: 18px;
}

.student .position-relative {
  position: relative;
  display: inline-block;
}

.student .custom-input {
  background-color: #F3F3F3;
  border-radius: 8px;
  border: 1px;
  box-sizing: border-box;
  color: #444;
  font-size: 14px;
  padding: 10px;
  width: 100%;
}

.student .purple-text {
  color: #6F1ED3;
  font-weight: bold;
  margin-bottom: 5px;
}

.student .custom-input {
  background-color: #F3F3F3;
  border-radius: 8px;
  padding: 10px;
  width: 100%;
  margin-bottom: 10px;
}

.student .btn.custom-button {
  background-color: var(--primary-color);
  color: white;
  padding: 10px 80px !important;
  border-radius: 8px;
  border: none;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  white-space: nowrap;
  font-weight: bold;
}

.student .btn.custom-button:hover {
  background-color: #5a0ecb;
  color: #fff;
}

.student .text-label {
  font-weight: bold;
  color: var(--primary-color);
  min-width: 200px;
  white-space: normal;
  line-height: 1.5;
}

.student .form-check-label {
  margin-left: 5px;
  margin-right: 20px;
  font-size: 16px;
}

.student .form-label {
  font-weight: bold;
  color: var(--primary-color);
}

.student .form-check-input {
  width: 20px;
  height: 20px;
  transform: scale(1.3);
  margin-right: 10px;
}

/*.student .table-hover tbody tr:hover {*/
/*  background-color: #f8f8f8;*/
/*}*/

/*.student .table thead th {*/
/*  font-weight: normal;*/
/*  font-size: 14px;*/
/*}*/

/*.student .table td, .student .table th {*/
/*  border-top: none;*/
/*  vertical-align: middle;*/
/*}*/

.student .custom-icon-link i {
  color: var(--primary-color);
  font-size: 24px;
  border: 2px solid var(--primary-color);
  padding: 5px;
}

.student .custom-icon-link i:hover {
  color: #4B0082;
  border-color: #4B0082;
}

span.student-total-amount,
span.student-wallet-balance {
  color: var(--primary-color); font-weight: bold; font-size: 2.0rem;
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.footer {
  padding: 20px 0;
  font-size: 14px;
  transition: all 0.3s;
  border-top: 1px solid #cddfff;
}

.footer .copyright {
  text-align: center;
  color: #012970;
}

.footer .credits {
  padding-top: 5px;
  text-align: center;
  font-size: 13px;
  color: #012970;
}

/*--------------------------------------------------------------
# Leave Management Css
--------------------------------------------------------------*/

input[type="text"], select {
    width: 100%;
    /*padding: 10px;*/
    /*border: 1px solid #ccc;*/
    border-radius: 4px;

}

button {
    background-color: var(--primary-color);
    color: white;
    padding: 10px 20px;
    border: none;
    cursor: pointer;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

.leave-form, .leave-edit {
    border-radius: 10px;
    background: #FFF;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    padding: 20px;

    h2 {
        color: var(--primary-color);
        font-family: Poppins;
        font-size: 16px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
        letter-spacing: 0.32px;
    }

    p {
        color: #1C2434;
        font-family: Poppins;
        font-size: 14px;
        font-style: normal;
        line-height: normal;
        letter-spacing: 0.28px;
    }

    label {
        color: var(--primary-color);
        font-family: Poppins;
        font-size: 16px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
        letter-spacing: 0.32px;
    }
}

.leave-quota {
    border-radius: 10px;
    background: #FFF;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    padding: 20px;

    table {
        width: 100%;
        margin-bottom: 30px;
        table-layout: fixed;
    }

    tr:first-child {
        height: 10vh;
    }

    tr:first-child th {
        color: var(--primary-color);
        font-family: Poppins;
        font-size: 14px;
        font-style: normal;
        font-weight: normal;
        line-height: normal;
        letter-spacing: 0.28px;
    }

    tr:not(:first-child) td {
        color: #1C2434;
        font-family: Poppins;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: 0.28px;
    }

    button {
        border-radius: 10px;
        background: var(--primary-color);
    }

    .button-middle {
        text-align: center;
    }


}

.leave-approval{
    border-radius: 10px;
    background: #FFF;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    padding: 20px;
    margin-top: 40px;

    table {
        width: 100%;
        margin-bottom: 30px;
        table-layout: fixed;
    }

    h2 {
        color: var(--primary-color);
        font-family: Poppins;
        font-size: 18px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
        letter-spacing: 0.36px;
    }

    tr:first-child th {
        color: var(--primary-color);
        font-family: Poppins;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: 0.28px;
        padding-bottom: 10px;
        border-bottom: 1px solid black;
    }

    tr:not(:first-child) td {
        color: #1C2434;
        font-family: Poppins;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: 0.28px;
        padding: 10px 0px;
        border-bottom: 1px solid black;
    }
}

/*--------------------------------------------------------------
# Staff Management Css
--------------------------------------------------------------*/
/* Custom search bar style */

.staff-management form#search-form {
    display: flex;
}

.staff-management .form-check-input:checked {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

.staff-management .custom-search-bar, .staff-management select#status-filter {
    border: 2px solid var(--primary-color) !important;
    border-left: none;
    border-radius: 8px;
    padding: 10px 20px;
    width: 100%;
    font-size: 14px;
    padding-left: 50px;
    margin-right: 20px;
}
.staff-management select#status-filter {
    padding-left: 20px;
    margin-right: 0;
}

.staff-management .custom-search-bar:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 8px rgba(111, 30, 211, 0.2);
}

/* Custom Add button */
.staff-management .custom-add-btn {
    border-color: var(--primary-color);
    color: #FFFFFF !important;
    background-color: var(--primary-color);
    padding: 10px 20px;
    border-radius: 8px;
    transition: all 0.3s;
    margin-left: 20px;
    font-weight: bold;
}

.staff-management .custom-add-btn:hover {
    background-color: var(--primary-color);
    color: #fff !important;
}

.staff-management .search-icon {
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--primary-color);
    font-size: 18px;
}

.staff-management .position-relative {
    position: relative;
    display: inline-block;
}

.staff-management .text-start {
    text-align: left;
    display: flex;
    align-items: center;
}

/* Label Styling */
.staff-management label {
    font-weight: bold;
    font-size: 16px;
    color: var(--primary-color);
    margin-bottom: 10px;
}

.staff-management .dropdown-label {
    font-size: 16px;
    margin-right: 15px;
    color: var(--primary-color);
    white-space: nowrap;
}

/* Status */
.staff-management .status-waiting-review {
    color: #F8E113;
    font-weight: bold;
    background-color: transparent;
    border-radius: 0;
}

.staff-management .status-approved {
    color: #18AF0B;
    font-weight: bold;
    background-color: transparent;
    border-radius: 0;
}

.staff-management .status-rejected {
    color: red;
    font-weight: bold;
    background-color: transparent;
    border-radius: 0;
}

/* Table Design */
.staff-management .table-hover tbody tr:hover {
    background-color: #f8f8f8;
}

.staff-management .table thead th {
    font-weight: normal;
    font-size: 14px;
    color: var(--primary-color);
}

.staff-management .table td, .staff-management .table th {
    border-top: none;
    vertical-align: middle;
}

.staff-management .custom-input {
    background-color: #F3F3F3;
    border-radius: 8px;
    border: 1px;
    box-sizing: border-box;
    color: #444;
    font-size: 14px;
    padding: 10px;
    width: 100%;
}

.staff-management .custom-input:focus {
    border-color: var(--primary-color);
    outline: none;
    box-shadow: 0 0 5px rgba(65, 84, 241, 0.2);
}

.staff-management .custom-input-group {
    max-width: 100%;
    flex-wrap: nowrap;
}

.staff-management .small-input {
    width: 100px !important;
    padding: 5px;
    font-size: 14px;
    text-align: center;
}

.staff-management .custom-input.small-input {
    width: 100px !important;
}

.staff-management .custom-select-wrapper {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
}

.staff-management .custom-select-wrapper select {
    width: 100%;
    padding-right: 40px;
    border: 1px solid var(--primary-color);
    border-radius: 8px;
    font-weight: normal;
    color: var(--primary-color);
    background-color: transparent;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.staff-management .custom-select-wrapper select:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 8px rgba(111, 30, 211, 0.2);
    outline: none;
}

.staff-management .custom-select-wrapper .select-icon {
    position: absolute;
    right: 10px;
    pointer-events: none;
    color: var(--primary-color);
    font-size: 18px;
}

.staff-management .custom-select-wrapper select option {
    font-weight: normal;
    padding: 10px;
    background-color: #f8f8f8;
    color: var(--primary-color);
    border: none;
    font-weight: lighter;
}

.staff-management .dropdown-label {
    font-size: 16px;
    margin-right: 15px;
    color: var(--primary-color);
    white-space: nowrap;
}

.staff-management .name-column {
    text-align: left;
    display: flex;
    align-items: center;
}

.staff-management .name-column .staff-component-class {
    margin: 0;
}

.staff-management .input-group .form-control {
    background-color: #F3F3F3;
    border: none;
    border-right: 0;
    border-radius: 0.25rem 0 0 0.25rem;
    color: #444;
    font-size: 14px;
    padding: 10px;
    box-sizing: border-box;
}

.staff-management .input-group .input-group-text {
    background-color: #F3F3F3;
    border: none;
    border-left: 0;
    border-radius: 0 0.25rem 0.25rem 0;
    color: #444;
    cursor: pointer;
    display: flex;
    align-items: center;
    padding: 0.375rem 0.75rem;
}

.staff-management .select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #dfdddd;
    border: 1px solid #aaa;
    border-radius: 4px;
    display: inline-block;
    margin-left: 4px;
    margin-top: 5px;
    padding-left: 25px;
}

.staff-management .d-flex {
    display: flex;
    justify-content: flex-end;
}

.staff-management .btn-primary {
    background-color: var(--primary-color) !important;
    color: #FFFFFF !important;
    margin-left: auto !important;
    margin-right: 0;
    padding: 10px 15px;
}

.staff-management .btn-danger {
    background-color: #dc3545;
    color: white !important;
    margin-left: auto !important;
    margin-right: 0;
    padding: 10px 15px;
}

.staff-management .list-group-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.staff-management .card a.btn {
    margin: 0 !important;
}

/*--------------------------------------------------------------
# KPI / Prestasi CSS
--------------------------------------------------------------*/
.kpi .purple-text {
    color: var(--primary-color);
    font-weight: bold;
}

.kpi .text-label {
    font-weight: bold;
    color: var(--primary-color);
    min-width: 200px;
    white-space: normal;
    line-height: 1.5;
}

.kpi .btn-outline-primary {
    border-color: var(--primary-color);
    color: var(--primary-color) !important;
    background-color: transparent;
    width: auto;
}

.kpi .btn-outline-primary:hover {
    border-color: var(--primary-color);
    color: #FFFFFF !important;
    background-color: var(--primary-color);
    width: auto;
}

/* Custom search bar style */
.kpi .custom-search-bar {
    border: 2px solid var(--primary-color) !important;
    border-left: none;
    border-radius: 8px;
    padding: 10px 20px;
    width: 100%;
    font-size: 14px;
    padding-left: 50px;
    margin-right: 20px;
}

.kpi .custom-search-bar:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 8px rgba(111, 30, 211, 0.2);
}

.kpi .search-icon {
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--primary-color);
    font-size: 18px;
}

.kpi .dropdown-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

/* Custom Add button */
.kpi .custom-add-btn {
    border-color: var(--primary-color);
    color: #FFFFFF !important;
    background-color: var(--primary-color);
    padding: 10px 20px;
    border-radius: 8px;
    transition: all 0.3s;
    margin-left: 20px;
    font-weight: bold;
}

.kpi .custom-add-btn:hover {
    background-color: var(--primary-color);
    color: #fff !important;
}

.kpi select {
    background-color: transparent;
    padding: 10px;
    border-radius: 8px;
    width: 100%;
    border: 2px solid var(--primary-color);
    color: var(--primary-color);
    font-weight: bold;
    font-size: 14px;
    transition: border-color 0.3s, box-shadow 0.3s;
}

.kpi select:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 8px rgba(111, 30, 211, 0.2);
    outline: none;
}

.kpi select option {
    color: #444;
}

.kpi .form-group {
    margin-bottom: 20px;
}

.kpi .input-group .form-control {
    background-color: #F3F3F3;
    border: none;
    border-right: 0;
    border-radius: 8px;
    color: var(--primary-color);
    font-size: 14px;
    padding: 10px;
    box-sizing: border-box;
}

/* Table Design */
.kpi .table {
    border-collapse: collapse;
}

.kpi .table-hover tbody tr:hover {
    background-color: #f8f8f8;
}

.kpi .table thead th {
    font-weight: normal;
    font-size: 14px;
    color: var(--primary-color);
}

.kpi .table td, .kpi .table th {
    border-top: none;
    vertical-align: middle;
}

.kpi .table td:nth-child(2) {
    height: 67.8px;
}

.kpi .maklumat-pegawai-table td:nth-child(2) {
    height: auto !important;
}

.kpi .custom-input {
    background-color: #F3F3F3;
    border-radius: 8px;
    border: none;
    box-sizing: border-box;
    color: #444;
    font-size: 14px;
    padding: 10px;
    width: 100%;
    margin-bottom: 10px;
}

.kpi .custom-input:focus {
    border-color: var(--primary-color);
    outline: none;
    box-shadow: 0 0 5px rgba(65, 84, 241, 0.2);
}

.kpi .custom-input-group {
    max-width: 100%;
    flex-wrap: nowrap;
}

.kpi .custom-select-wrapper {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
}

.kpi .small-input {
    width: 100px !important;
    padding: 5px;
    font-size: 14px;
    text-align: center;
}

.kpi .custom-input.small-input {
    width: 100px !important;
}

.kpi label {
    font-weight: bold;
    font-size: 16px;
    color: var(--primary-color);
    margin-bottom: 10px;
    display: block;
}

.kpi .tambah-lainnya {
    font-weight: bold;
    text-align: right;
    margin-left: auto;
    display: inline-block;
    text-decoration: none;
    margin-top: 10px;
    color: var(--primary-color);
    background: none;
    border: none;
    cursor: pointer;
    font-size: 16px;
}

.kpi .tambah-lainnya:hover {
    text-decoration: underline;
    color: var(--primary-color);
    background: none;
}

.kpi .btn + .btn {
    margin-left: 10px;
}

.kpi .btn[disabled] {
    pointer-events: none;
    cursor: not-allowed;
    opacity: 0.6;
}

.kpi .d-flex.justify-content-end {
    gap: 10px;
}

.kpi .btn-primary {
    background-color: var(--primary-color) !important;
    color: #FFFFFF !important;
    width: 200px !important;
}

.kpi .btn-secondary {
    background-color: #f8f9fa !important;
    color: black !important;
    border: 5px;
    border-color: #dee2e6;
}

.kpi .btn-same-size {
    width: 150px;
    height: 50px;
    padding: 10px;
    text-align: center;
    display: inline-block;
    font-size: 14px;
    line-height: 1.5;
}

.kpi .d-flex.justify-content-end {
    gap: 10px;
    margin-top: 20px;
}

.kpi .custom-upload-button {
    display: inline-flex;
    align-items: center;
    color: var(--primary-color); /* Adjust to match your theme */
    cursor: pointer;
    font-weight: 600;
    text-decoration: none;
    font-size: 16px;
}

.kpi .custom-upload-button i {
    margin-right: 5px; /* Spacing between icon and text */
}

.kpi .custom-upload-button:hover {
    text-decoration: underline;
}

/* Hide default file input */
.kpi .d-none {
    display: none;
}

.kpi .name-column {
    text-align: left;
}

.kpi .name-column .d-flex {
    display: flex;
    align-items: center;
}

.kpi .rounded-circle {
    object-fit: cover; /* Ensures the image fits the circle perfectly */
    display: inline-block;
    width: 40px;
    height: 40px;
}

.kpi .name-column img {
    width: 40px;
    height: 40px;
    object-fit: cover;
    margin-right: 10px;
}

.kpi .name-column strong {
    display: block;
}

.kpi .name-column small {
    color: #6c757d; /* Optional: Muted text color */
}

/* Status */
.kpi .status-waiting-review {
    color: #F8E113;
    font-weight: bold;
    background-color: transparent;
    border-radius: 0;
}

.kpi .status-approved {
    color: #18AF0B;
    font-weight: bold;
    background-color: transparent;
    border-radius: 0;
}

.kpi .status-rejected {
    color: red;
    font-weight: bold;
    background-color: transparent;
    border-radius: 0;
}

/* Custom styles for selected accordion item */
.kpi .accordion-button {
    background-color: var(--primary-color);
    color: white !important;
    border-color: var(--primary-color);
}

.kpi .accordion-button:focus {
    box-shadow: none;
}

.kpi .accordion-button:not(.collapsed) {
    background-color: var(--primary-color);
    color: white; /* Change the text color when selected */
    border-color: var(--primary-color);
}

.kpi .accordion-button:hover {
    background-color: var(--primary-color);
    color: white;
}

.kpi .accordion-button::after {
    color: #FFFFFF !important;
}

.kpi .accordion-button:not(.collapsed)::after {
    color: white !important;
}

.kpi .accordion-button:hover::after {
    color: white !important;
}

.kpi .row {
    display: flex;
    flex-wrap: wrap;
}

.kpi .col-md-6 {
    width: 48%;
    margin-right: 4%;
    margin-bottom: 16px;
}

.kpi .col-md-6:last-child {
    margin-right: 0;
}

.kpi input[type="range"] {
    width: 100%;
    height: 10px;
    -webkit-appearance: none;
    background: #ddd;
    border-radius: 5px;
}

.kpi input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    background: var(--primary-color);
    width: 20px;
    height: 20px;
    border-radius: 50%;
    cursor: pointer;
}

/* Make the radio buttons bigger */
.kpi .form-check-input {
    width: 35px;
    height: 35px;
    margin: 5px 0;
}

/* Adjust the label font size to match the larger buttons */
.kpi .form-check-label {
    font-size: 16px;
    text-align: center;
}

.kpi .form-check-input:checked {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

.kpi .form-check-group {
    display: flex;
    justify-content: space-between;
    width: 100%;
    align-items: center;
}

.kpi .form-check {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0; /* Remove margin between radio buttons */
}

.kpi .d-flex .form-check {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.kpi .rating-label {
    font-size: 16px;
    font-weight: bold;
    color: var(--primary-color);
    padding: 0 15px;
}

.kpi .d-flex {
    display: flex;
    align-items: center;
    width: 100%;
}

.kpi .rating-label {
    font-size: 16px;
    color: var(--primary-color);
}

.kpi .card-header.bg-purple {
    background-color: var(--primary-color);
    color: white;
}

.kpi .text-right {
    text-align: right;
}

.kpi .section-title {
    font-size: 16px;
    color: #333;
    margin-bottom: 8px;
}

.kpi .score-box {
    display: inline-block;
    background-color: var(--primary-color);
    color: white;
    padding: 20px 20px;
    border-radius: 10px;
    font-weight: bold;
    font-size: 20px;
    position: relative;
    z-index: 1;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.kpi .col-md-8.text-start h5,
.kpi .col-md-8.text-start p {
    display: block;
    margin-bottom: 0.25rem; /* Optional spacing */
}

/* Custom Checkbox */
.kpi .delete-checkbox {
    -webkit-appearance: none;  /* Remove default checkbox appearance */
    -moz-appearance: none;     /* Remove default checkbox appearance */
    appearance: none;          /* Remove default checkbox appearance */
    width: 20px;               /* Adjust size */
    height: 20px;              /* Adjust size */
    background-color: #F3F3F3;
    border-radius: 4px;        /* Round corners to match the custom input */
    border: 1px solid var(--primary-color);
    box-sizing: border-box;
    position: relative;
    cursor: pointer;
    transition: all 0.2s ease;
}

/* Checkmark on checked state */
.kpi .delete-checkbox:checked::before {
    content: '\2713'; /* Checkmark symbol */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 14px;
    color: #444;
}

/* Hover effect */
.kpi .delete-checkbox:hover {
    background-color: #e0e0e0;
    border-color: var(--primary-color);
}

/* Focus effect when the checkbox is focused */
.kpi .delete-checkbox:focus {
    outline: none;
    box-shadow: 0 0 5px rgba(65, 84, 241, 0.2);
}

.kpi .modal-lg {
    max-width: 50%; /* kpi modal pop up */
}

/*--------------------------------------------------------------
# Modal CSS
--------------------------------------------------------------*/
.modal-header {
    background-color: #6F1ED3FF;
    color: #FFFFFF !important;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-bottom: none;
    padding: 15px;
}

.modal-header .modal-title {
    margin: 0 200px; /* Center title */
    font-size: 20px;
    font-weight: bold;
    color: #FFFFFF !important;
}

.modal-body {
    padding-bottom: 60px; /* Add padding for the indicators */
    position: relative; /* Ensure content does not overlap */
}

/* Table Header Styles */
.modal-body table thead th {
    background-color: #6F1ED3FF;
    color: #FFFFFF !important;
    font-weight: bold;
    text-align: center;
}

/* Table Data Alignment */
.modal-body table tbody td {
    vertical-align: middle;
    text-align: center;
}

.modal-dialog {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}

/* Merged Rows */
.table-bordered tbody td[rowspan] {
    vertical-align: middle;
    text-align: center;
}

.modal-dialog-centered {
    display: flex;
    align-items: center;
    justify-content: center;
}

.carousel-control-prev,
.carousel-control-next {
    width: 40px; /* Adjust the button size */
    height: 40px;
    background-color: var(--primary-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.3; /* Slight transparency */
    transition: opacity 0.3s ease, transform 0.3s ease; /* Smooth transitions */
}

.carousel-control-prev:hover,
.carousel-control-next:hover {
    opacity: 1;
    transform: scale(1.1); /* Slightly enlarge on hover */
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    background-size: 100%;
    /*filter: invert(1);*/
}

/*--------------------------------------------------------------
# User Management CSS
--------------------------------------------------------------*/
.user-profile .custom-input {
    background-color: #F3F3F3;
    border-radius: 8px;
    border: 1px;
    box-sizing: border-box;
    color: #444;
    font-size: 14px;
    padding: 10px;
    width: 100%;
}

.user-profile .custom-input:focus {
    border-color: var(--primary-color);
    outline: none;
    box-shadow: 0 0 5px rgba(65, 84, 241, 0.2);
}

.user-profile .custom-input-group {
    max-width: 100%;
    flex-wrap: nowrap;
}

.user-profile .small-input {
    width: 100px !important;
    padding: 5px;
    font-size: 14px;
    text-align: center;
}

.user-profile .custom-input.small-input {
    width: 100px !important;
}

.user-profile .custom-select-wrapper {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
}
.user-profile .custom-input-group {
    max-width: 100%;
    flex-wrap: nowrap;
}

.user-profile .small-input {
    width: 100px !important;
    padding: 5px;
    font-size: 14px;
    text-align: center;
}

.user-profile .custom-select-wrapper select {
    width: 100%;
    padding-right: 40px;
    border: 1px solid var(--primary-color);
    border-radius: 8px;
    font-weight: normal;
    color: var(--primary-color);
    background-color: transparent;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.user-profile .custom-select-wrapper select:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 8px rgba(111, 30, 211, 0.2);
    outline: none;
}

.user-profile .custom-select-wrapper .select-icon {
    position: absolute;
    right: 10px;
    pointer-events: none;
    color: var(--primary-color);
    font-size: 18px;
}

.user-profile .custom-select-wrapper select option {
    font-weight: normal;
    padding: 10px;
    background-color: #f8f8f8;
    color: var(--primary-color);
    border: none;
    font-weight: lighter;
}

/* Label Styling */
.user-profile label {
    font-weight: bold;
    font-size: 16px;
    color: var(--primary-color);
    margin-bottom: 10px;
}

.user-profile .dropdown-label {
    font-size: 16px;
    margin-right: 15px;
    color: var(--primary-color);
    white-space: nowrap;
}

.user-profile .input-group .form-control {
    background-color: #F3F3F3;
    border: none;
    border-right: 0;
    border-radius: 0.25rem 0 0 0.25rem;
    color: #444;
    font-size: 14px;
    padding: 10px;
    box-sizing: border-box;
}

.user-profile .input-group .input-group-text {
    background-color: #F3F3F3;
    border: none;
    border-left: 0;
    border-radius: 0 0.25rem 0.25rem 0;
    color: #444;
    cursor: pointer;
    display: flex;
    align-items: center;
    padding: 0.375rem 0.75rem;
}

/*--------------------------------------------------------------
# Dropify CSS Component
--------------------------------------------------------------*/
/* Center align the Dropify container */
.dropify-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #F3F3F3 !important;
    border-radius: 8px !important;
    border: none !important;
    padding: 15px;
    box-sizing: border-box;
    color: #444 !important;
    font-size: 14px;
    width: 100%;
    height: 200px;
}

/* Remove default Dropify icon text */
.dropify-wrapper .dropify-message p {
    display: none;
}

/* Center the preview image and style it */
.dropify-wrapper .dropify-preview {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #F3F3F3 !important;
    border: none !important;
}

.dropify-wrapper .dropify-preview .dropify-render img {
    max-width: 150px;
    max-height: 150px;
    border-radius: 10%;
    object-fit: cover;
}

/* Hover effect similar to custom input focus style */
.dropify-wrapper:hover,
.dropify-wrapper:focus {
    border-color: #F3F3F3 !important;
    background-color: #F3F3F3 !important;
}

/* Custom label styling for Profile Picture */
.label-profile-picture {
    font-weight: bold;
    font-size: 1.2rem;
    color: #6f42c1;
    margin-bottom: 10px;
    display: block;
    text-align: left;
}

/*--------------------------------------------------------------
# Staff Component
--------------------------------------------------------------*/
.staff-component {
    display: flex;
}

.staff-component .avatar {
    width: 30px;
    height: 30px;
    display: inline-block;
    overflow: hidden;
    -o-object-fit: cover;
    object-fit: cover;
    border: 1px solid #e8eef3;
}

.staff-component .body {
    flex: 1;
}

.eye-icon-color {
    color: var(--primary-color);
}

.activity-status h4, .activities-section h4 {
    font-size: var(--bs-subtitle-font-size);
}

.activity-status {
    margin-bottom: 30px;
}

.btn.full-btn {
    width: 100% !important;
}

.btn.btn-green {
    background: #18AF0B;
    color: #FFF;
}

.btn.btn-green:hover {
    background: #18AF0B;
}

.btn.btn-red {
    background: #AF150B;
    color: #FFF;
}

.btn.btn-red:hover {
    background: #AF150B;
}

.alert-box {
    background: #f0f0f0;
    padding: 10px;
}

/*--------------------------------------------------------------
# Ticket
--------------------------------------------------------------*/

.jawaban-card {
    border-radius: 10px;
    background: #FFF;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    padding: 20px;
    margin-bottom: 20px;


    .jawaban-title {
        font-weight: bold;
        font-size: 1.2em;
        margin-bottom: 20px;
        color: var(--primary-color);
    }

    .jawaban-item {
        margin-bottom: 10px;
    }

    .jawaban-label {
        font-size: 14px;
        color: var(--primary-color);
        margin-right: 20px;

    }

    .jawaban-description {
        color: #1C2434;
        font-family: Poppins;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: 0.28px;
        height: 5vh;
    }

}
.all-ticket{
    border-radius: 10px;
    background: #FFF;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    padding: 20px;

    table {
        width: 100%;
        margin-bottom: 20px;
        table-layout: fixed;
    }

    .all-tickets-header {
        color: var(--primary-color);
        font-family: Poppins;
        font-size: 18px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
        letter-spacing: 0.36px;
    }

    tr:first-child th {
        color: white;
        font-family: Poppins;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: 0.28px;
        padding-bottom: 10px;
        border-bottom: 1px solid black;
    }

    tr:not(:first-child) td {
        color: #1C2434;
        font-family: Poppins;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: 0.28px;
        padding: 10px 0px;
        border-bottom: 1px solid black;
        text-align: center;
    }
    .bi-eye{
        font-size: 1.8em;
    }

    .all-tickets-header{
        padding-bottom: 30px;
    }
}

.assigned-ticket{
    border-radius: 10px;
    background: #FFF;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    padding: 20px;

    table {
        width: 100%;
        margin-bottom: 20px;
        table-layout: fixed;
    }

    .all-tickets-header {
        color: var(--primary-color);
        font-family: Poppins;
        font-size: 18px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
        letter-spacing: 0.36px;
    }

    tr:first-child th {
        color: white;
        font-family: Poppins;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: 0.28px;
        padding-bottom: 10px;
        border-bottom: 1px solid black;
    }

    tr:not(:first-child) td {
        color: #1C2434;
        font-family: Poppins;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: 0.28px;
        padding: 10px 0px;
        border-bottom: 1px solid black;
        text-align: center;
    }
    .bi-eye{
        font-size: 1.8em;
    }

    .all-tickets-header{
        padding-bottom: 30px;
    }
}

.my-ticket{
    border-radius: 10px;
    background: #FFF;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    padding: 20px;

    table {
        width: 100%;
        margin-bottom: 20px;
        table-layout: fixed;
    }

    .my-tickets-header {
        color: var(--primary-color);
        font-family: Poppins;
        font-size: 18px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
        letter-spacing: 0.36px;
        padding-bottom: 30px;

    }


    tr:first-child th {
        color: white;
        font-family: Poppins;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: 0.28px;
        padding-bottom: 10px;
        border-bottom: 1px solid black;
    }

    tr:not(:first-child) td {
        color: #1C2434;
        font-family: Poppins;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: 0.28px;
        padding: 10px 0px;
        border-bottom: 1px solid black;
        text-align: center;
    }
    .bi-eye{
        font-size: 1.8em;
    }

}


.ticket-details {
    border-radius: 10px;
    background: #FFF;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    padding: 20px;
    margin-bottom: 20px; /* Adjust the margin as needed */


    table {
        width: 100%;
        margin-bottom: 0px;
        table-layout: fixed;
    }

    tr td {
        color: #1C2434;
        font-family: Poppins;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: 0.28px;
        height: 5vh;
    }
    .label {
        margin-right: 20px;
    }
    .ticket-sum {
        font-weight: bold;
        font-size: 1.2em;
        margin-bottom: 20px;
        color: var(--primary-color);
    }
}

.comments-section {
    margin: 20px 0;
    padding: 10px;


    .comments-header {
        font-size: 1.5rem;
        font-weight: bold;
        margin-bottom: 10px;
        color: #333;
    }

    .comments-container {
        max-height: 300px; /* Adjust this value to control the height of the container */
        overflow-y: auto; /* Enable vertical scroll */
        padding: 30px;
        border-radius: 8px;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        border: 1px solid #ddd;
        background-color: #fff;
    }

    .comment {
        margin-bottom: 15px;
        padding: 10px;
        border-radius: 6px;
        background-color: #f9f9f9;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    }

    .comment:last-child {
        margin-bottom: 0;
    }

    .comment-user {
        font-size: 0.9rem;
        color: #555;
        margin-bottom: 5px;
    }

    .comment-user .text-primary {
        font-weight: bold;
        color: #007bff;
    }

    .comment-date {
        font-size: 0.8rem;
        color: #888;
        margin-left: 10px;
    }

    .comment-body {
        font-size: 1rem;
        color: #333;
        line-height: 1.5;
        margin-top: 5px;
    }

    /* Add smooth scrolling for better user experience */

    .comments-container::-webkit-scrollbar {
        width: 8px;
    }

    .comments-container::-webkit-scrollbar-track {
        background: #f1f1f1;
        border-radius: 8px;
    }

    .comments-container::-webkit-scrollbar-thumb {
        background: #ccc;
        border-radius: 8px;
    }

    .comments-container::-webkit-scrollbar-thumb:hover {
        background: #888;
    }
}

.tickets-total {
    .ticket-card {
        border-radius: 12px;
        padding: 10px;
        height: 130px; /* Ensure card height is sufficient */
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        justify-content: space-between; /* Ensure space between title and count */
    }

    .card-title {
        display: flex;
        justify-content: space-between;
        border-bottom: none;
        background-color: transparent;
        font-weight: 600;
        color: #6b21a8;
    }

    .ticket-icon {
        color: #6b21a8;
        font-size: 1.2em;
    }

    .ticket-count {
        align-items: center;
        justify-content: center; /* Center the ticket count */
        font-size: 1.5em;
        color: #6b21a8;
        height: auto; /* Allow the height to adjust based on content */
    }

    .tag-container {
        display: flex;
        justify-content: flex-start;
        gap: 15px;
        margin-bottom: 20px;
    }

    .tag {
        display: inline-flex;
        align-items: start;
        justify-content: flex-start;
        padding: 8px 18px;
        border: 2px solid #6b21a8;
        border-radius: 10px;
        background-color: #fff;
        color: #6b21a8;
        text-decoration: none;
        font-weight: 600;
        transition: background-color 0.3s, color 0.3s;
        font-size: 14px;
        width: 200px;
    }

    .tag i {
        margin-right: 8px;
        font-size: 1.2em;
        color: inherit;
    }

    .tag:hover {
        background-color: #6b21a8;
        color: #fff;
    }

    .tag-active {
        background-color: #6b21a8;
        color: #fff;
        border: 2px solid #6b21a8;
    }
}

.assign-to-form{

    border-radius: 10px;
    background: #FFF;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    padding: 20px;

    .jawaban-input {
        height: 150px;
        margin-top: 10px;
        width: 150%; /* Ensures the input takes up the full width of its container */
        max-width: 150%; /* Prevents overflow beyond the container */
        background-color: #f0f0f0; /* Light gray background color */
        border-radius: 10px;
        box-sizing: border-box; /* Includes padding and border in the element's width and height */
        resize: none; /* Prevents resizing if it's a <textarea> */
    }


    .custom-input{
        background-color: #f0f0f0;  /* Light gray background color */
        border-radius: 10px;
    }

    .col-form-label {
        font-weight: bold;
        color: var(--primary-color);
    }

    .custom-select {
        position: relative;
        display: inline-block;
        width: 100%; /* Set width to 100% to make it responsive */
        max-width: 200px; /* Limit maximum width */
        height: 40px; /* Adjust height as needed */
        border: 1px solid #673AB7;
        border-radius: 5px;
        background-color: #fff;
        color: #673AB7;
        cursor: pointer;
        font-family: Arial, sans-serif;
        font-size: 14px;
        padding: 5px;
        box-sizing: border-box; /* Ensure padding doesn't affect width */
    }

    .custom-select select {
        width: 100%;
        height: 100%;
        border: none;
        background-color: transparent;
        appearance: none;
        -webkit-appearance: none; /* Remove default styling for Webkit browsers */
        -moz-appearance: none; /* Remove default styling for Firefox */
        padding: 5px;
        color: #673AB7; /* Set text color */
        font-size: inherit; /* Ensure consistent font size */
    }

    .custom-select select option {
        color: #673AB7; /* Set option text color */
    }

    .custom-select::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translateY(-50%);
        width: 0;
        height: 0;
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-top: 10px solid #673AB7;
        pointer-events: none;
    }

    .form-group {
        margin-top: 20px; /* Adjust top spacing */
    }

    .form-group .col-md-12 {
        display: flex;
        justify-content: center; /* Center the button horizontally */
    }

    .form-group .custom-button {
        background-color: var(--primary-color);
        color: white;
        width: 150px; /* Adjust the width to match */
        height: 40px;
        padding: 10px 80px !important;
        border-radius: 8px;
        border: none;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        white-space: nowrap;
        font-weight: bold;
    }

    .form-group .custom-button:hover {
        background-color: #5a0ecb;
        color: white;
        box-shadow: 0 4px 8px rgba(65, 84, 241, 0.2);
    }

}

.hantar-tiket-form {

    border-radius: 10px;
    background: #FFF;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    padding: 20px;


   .form-group {
        /*margin-bottom: 15px;*/
    }

    label {

        font-weight: 600;
        color: var(--primary-color);
        display: block;
    }

    .form-control {
        border-radius: 5px;
    }

    .custom-button {
        background-color: var(--primary-color);
        color: white;
        width: 150px; /* Adjust the width to match */
        height: 40px;
        padding: 10px 80px !important;
        border-radius: 8px;
        border: none;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        white-space: nowrap;
        font-weight: bold;
    }

    .custom-button:hover {
        background-color: #5a0ecb;
        color: white;
        box-shadow: 0 4px 8px rgba(65, 84, 241, 0.2);
    }
    .col-md-12 {
        display: flex;
        justify-content: center; /* Center the button horizontally */
    }

    .custom-select {
        position: relative;
        display: inline-block;
        width: 100%; /* Set width to 100% to make it responsive */
        height: 40px; /* Adjust height as needed */
        background-color: #f0f0f0;
        border-radius: 10px;
        color: #673AB7;
        cursor: pointer;
        font-size: 14px;
        padding: 5px;
        box-sizing: border-box; /* Ensure padding doesn't affect width */
        margin-top: 10px;
    }

    .custom-select select {
        width: 100%;
        height: 100%;
        border: none;
        background-color: transparent;
        appearance: none;
        -webkit-appearance: none; /* Remove default styling for Webkit browsers */
        -moz-appearance: none; /* Remove default styling for Firefox */
        padding: 5px;
        color: #673AB7; /* Set text color */
        font-size: inherit; /* Ensure consistent font size */
    }

    .custom-select select option {
        color: #673AB7; /* Set option text color */
    }

    .custom-select::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translateY(-50%);
        width: 0;
        height: 0;
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-top: 10px solid #673AB7;
        pointer-events: none;
    }

    .penerangan-input {
        height: 150px;
        margin-top: 10px;
        background-color: #f0f0f0;  /* Light gray background color */
        border-radius: 10px;
    }

    .custom-input{
        margin-top: 10px;
        background-color: #f0f0f0;  /* Light gray background color */
        border-radius: 10px;

    }
}

/*--------------------------------------------------------------
# For Kenderaan, Ticket, Bilik Tempahan subnavigator
--------------------------------------------------------------*/

.tag-container {
    display: flex;
    justify-content: flex-start;
    gap: 15px;
    margin-bottom: 20px;


    .tag {
        display: inline-flex;
        align-items: start;
        justify-content: flex-start;
        padding: 8px 18px;
        border: 2px solid #6b21a8; /* Dark purple border */
        border-radius: 10px; /* More rounded corners */
        background-color: #fff; /* White background by default */
        color: #6b21a8; /* Purple text */
        text-decoration: none;
        font-weight: 600;
        transition: background-color 0.3s, color 0.3s;
        font-size: 14px;
        width: 200px;
    }

    .tag i {
        margin-right: 8px;
        font-size: 1.2em; /* Icon size */
        color: inherit;
    }

    /* Hover effect */

    .tag:hover {
        background-color: #6b21a8; /* Purple background on hover */
        color: #fff; /* White text on hover */
    }

    /* Active tag styling */

    .tag-active {
        background-color: #6b21a8; /* Purple background */
        color: #fff; /* White text */
        border: 2px solid #6b21a8; /* Ensure border matches the background */
    }
}

/*--------------------------------------------------------------
# role and permission
--------------------------------------------------------------*/
.role-and-permission{
    border-radius: 10px;
    background: #FFF;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    padding: 30px;
    margin-top: 40px;

    table {
        width: 100%;
        margin-bottom: 30px;
        table-layout: fixed;
    }

    h2 {
        color: var(--primary-color);
        font-family: Poppins;
        font-size: 18px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
        letter-spacing: 0.36px;
    }

    tr th {
        color: var(--primary-color);
        font-family: Poppins;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: 0.28px;
        padding-bottom: 10px;
        border-bottom: 1px solid black;
    }

    tr td {
        color: #1C2434;
        font-family: Poppins;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: 0.28px;
        padding: 10px 0px;
        border-bottom: 1px solid black;
    }

    .custom-search-bar {
        border: 2px solid var(--primary-color) !important;
        border-left: none;
        border-radius: 8px;
        padding: 10px 20px;
        width: 100%;
        font-size: 14px;
        padding-left: 50px;
        margin-right: 20px;
    }

    .custom-search-bar:focus {
        outline: none;
        border-color: var(--primary-color);
        box-shadow: 0 0 8px rgba(111, 30, 211, 0.2);
    }

    .search-icon {
        left: 20px;
        top: 50%;
        transform: translateY(-50%);
        color: var(--primary-color);
        font-size: 18px;
    }

    .custom-button {
        background-color: white;
    }

    table th,
    table td {
        text-align: left;
        padding: 10px;
    }

    th.text-end,
    td.text-end {
        text-align: right; /* Right-align specific columns */
    }

    td.ps-3 {
        padding-left: 20px; /* Add space on the left */
    }

    td.pe-3 {
        padding-right: 20px; /* Add space on the right */
    }

    table {
        margin: auto; /* Center the table horizontally */
    }

    .btn-purple {
        border-color: var(--primary-color);
        color: #FFFFFF !important;
        background-color: var(--primary-color);
        padding: 10px 20px;
        border-radius: 8px;
        transition: all 0.3s;
        margin-left: 20px;
        font-weight: bold;
    }

    .btn-purple:hover {
        background-color: var(--primary-color);
        color: #fff !important;
    }

    .lokasi .form-select {
        border-radius: 10px;
        padding: 5px;
    }
}



/*room-booking*/

.tempahan-bilik-card {
    border-radius: 10px;
    background: #FFF;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    padding: 20px;

    .form-control {
        background-color: #F3F3F3;
        border-radius: 10px;
        padding: 7px;
    }

    .lokasi {
        width: 50%;
    }

    .lokasi .form-select {
        border-radius: 10px;
        padding: 5px;
        padding-left: 10px;
    }

    .durasi .tarikh-tempahan {
        display: inline-block;
        width: 40%;
    }

    .durasi > .form-label{
        width: 100%;
    }

    .sublabel {
        font-size: 0.8em;
        color: var(--primary-color);
        margin-bottom: 5px;
    }

    .tarikh-tempahan-container {
        display: flex;
        justify-content: space-between;
    }

    .nama-tetamu-kehormat {
        padding-bottom: 140px;
    }

    .for-btn {
        text-align: center;
    }

    .for-btn .btn-primary {
        height: 41px;
        width: 353px;
        border-radius: 10px;
    }

}

.room-booking #page2 .row-page2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}

.row-page2 thead {
    background-color: var(--primary-color);
    color: white;
    height: 55px;
    border-radius: 10px;
}


.tempahan-peralatan-card {

    .nav-pills .nav-link:hover {
        background-color: var(--primary-color);
        color: #fff;
    }

    .nav-pills .nav-link.active {
        background-color: var(--primary-color);
    }

    .nav-pills .nav-link {
        background: white;
        box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
        border-radius: 10px;
        width: 100%;
        height: 70px;
        display: flex;
        align-items: center;
    }

    a.nav-link {
        font-size: 14px;
        font-family: Poppins;
        font-weight: 600;
        letter-spacing: 0.32px;
        word-wrap: break-word;
    }

    .nav-item {
        padding-bottom: 10px;
    }

    .tab-content .row {
        background: white;
        box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
        border-radius: 10px;
        height: auto;
        align-items: flex-start;
    }

    .tab-pane.active .peralatan-table {
        padding: 0px;
    }

    .tab-pane.active .peralatan-table table thead th:first-child {
        border-top-left-radius: 10px;
    }

    .tab-pane.active .peralatan-table table thead th:last-child {
        border-top-right-radius: 10px;
    }

    .peralatan-table tr td,
    .peralatan-table tr th {
        padding: 15px;
    }

    .for-btn {
        text-align: center;
    }

    .for-btn .btn-primary {
        height: 41px;
        width: 353px;
        border-radius: 10px;
    }

    table tbody tr td {
        border-bottom-width: 1px;
    }
}

.room-booking-details {
    border-radius: 10px;
    background: #FFF;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    padding: 20px;

    table tr {
        height: 36px;
    }
}

.language-switcher {
    position: fixed;
    bottom: 15px;
    right: 70px;
    z-index: 123231232131;
    border: 1px solid var(--primary-color);
    border-radius: 4px;
    overflow: hidden;
}

.language-switcher ul {
    margin-bottom: 0;
    padding: 0;
    display: flex;
}

.language-switcher ul li {
    list-style-type: none;
    display: inline-block;
}

.language-switcher ul li a {
    padding: 5px;
    display: inline-block;
    background: #FFF;
}

.language-switcher ul li a.active, .language-switcher ul li a:hover {
    background: var(--primary-color);
    color: #FFF;
}

@media screen and (min-width: 1200px) {
    .sidebar-show-menu {
        display: none;
    }
}

@media screen and (max-width: 768px) {
    .private .cutlet {
        max-width: 100%;
    }

    .private .card {
        min-width: 100%;
    }

    .header {
        padding-left: 60px;
    }

    /*#calendar .fc-button-primary {*/
    /*    padding: 0;*/
    /*}*/

    .fc .fc-toolbar.fc-header-toolbar {
        display: block;
    }

    .fc .fc-daygrid-day-bottom {
        font-size: 8px;
        line-height: 1;
    }
}


.tempahan-bilik-card {
    border-radius: 10px;
    background: #FFF;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    padding: 20px;

    .form-control {
        background-color: #F3F3F3;
        border-radius: 10px;
        padding: 7px;
    }

    .lokasi {
        width: 50%;
    }

    .lokasi .form-select {
        border-radius: 10px;
        padding: 5px;
        padding-left: 10px;
    }

    .durasi .tarikh-tempahan {
        display: inline-block;
        width: 40%;
    }

    .durasi > .form-label{
        width: 100%;
    }

    .sublabel {
        font-size: 0.8em;
        color: var(--primary-color);
        margin-bottom: 5px;
    }

    .tarikh-tempahan-container {
        display: flex;
        justify-content: space-between;
    }

    .nama-tetamu-kehormat {
        padding-bottom: 140px;
    }

    .for-btn {
        text-align: center;
    }

    .for-btn .btn-primary {
        height: 41px;
        width: 353px;
        border-radius: 10px;
    }

}

.room-booking #page2 .row-page2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}

.row-page2 thead {
    background-color: var(--primary-color);
    color: white;
    height: 55px;
    border-radius: 10px;
}

/*--------------------------------------------------------------
# Gaji
--------------------------------------------------------------*/
.gaji-card {
    /* Nav Pills Styling */
    .nav-pills .nav-link:hover {
        background-color: var(--primary-color);
        color: #fff;
    }

    .nav-pills .nav-link.active {
        background-color: var(--primary-color);
        color: #fff;
    }

    .nav-pills .nav-link {
        background: white;
        box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
        border-radius: 10px;
        width: 100%;
        height: 70px;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: background-color 0.3s ease, color 0.3s ease;
    }

    a.nav-link {
        font-size: 14px;
        font-family: 'Poppins', sans-serif;
        font-weight: 600;
        letter-spacing: 0.32px;
        word-wrap: break-word;
        text-align: center;
        text-decoration: none;
        color: inherit;
    }

    .nav-item {
        padding-bottom: 10px;
    }

    /* Tab Content Styling */
    .tab-content .row {
        background: white;
        box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
        border-radius: 10px;
        align-items: flex-start;
        padding: 20px;
        height: auto; /* Automatically adjust based on content */
        min-height: 100px; /* Optional: Set a minimum height if needed */
    }

    .tab-pane.active .gaji-table {
        padding: 0;
    }

    /* Gaji Table Styling */
    .gaji-table table {
        width: 100%;
        border-collapse: collapse;
    }

    .gaji-table table thead th {
        background-color: var(--primary-color);
        color: #fff;
        text-align: left;
        padding: 10px;
        font-weight: 700;
    }

    .gaji-table table thead th:first-child {
        border-top-left-radius: 10px;
    }

    .gaji-table table thead th:last-child {
        border-top-right-radius: 10px;
    }

    .gaji-table tr td,
    .gaji-table tr th {
        padding: 15px;
        vertical-align: middle;
    }

    .gaji-table tbody tr {
        transition: background-color 0.3s ease;
    }

    .gaji-table tbody tr:hover {
        background-color: rgba(0, 0, 0, 0.05);
    }

    table tbody tr td {
        border-bottom: 1px solid #ddd;
    }

    table tbody tr:last-child td {
        border-bottom: none;
    }

    /* Input Group Styling */
    .input-group-text {
        background-color: #f8f9fa;
        border: 1px solid #ced4da;
    }

    .input-group input {
        border-radius: 0;
    }

    /* For Button Section */
    .for-btn {
        text-align: center;
        margin-top: 20px;
    }

    .for-btn .btn-primary {
        height: 41px;
        width: 353px;
        border-radius: 10px;
        font-weight: bold;
        font-size: 16px;
        transition: all 0.3s ease;
    }

    .for-btn .btn-primary:hover {
        background-color: darken(var(--primary-color), 10%);
        box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
    }

    /* Select Field Styling */
    select.form-control {
        width: 100%;
        max-width: 100%;
        height: auto;
        padding: 10px;
        border-radius: 5px;
        border: 1px solid #ddd;
        font-size: 14px;
        font-family: 'Poppins', sans-serif;
    }

    select.form-control:focus {
        border-color: var(--primary-color);
        box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
    }

    /* Custom Dropdown Styling */
    .custom-dropdown {
        position: relative;
        margin-top: 10px;
    }

    .custom-dropdown .dropdown-btn {
        width: 100%;
        padding: 10px;
        border: 1px solid #ccc;
        background-color: #fff;
        text-align: left;
        cursor: pointer;
        border-radius: 5px;
        font-size: 14px;
        font-family: 'Poppins', sans-serif;
        color: #6c757d; /* Placeholder color */
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .custom-dropdown .dropdown-btn.active {
        color: #000; /* Change text color when items are selected */
    }

    .custom-dropdown .dropdown-list {
        margin: 0;
        padding: 0;
        list-style: none;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        max-height: 200px;
        overflow-y: auto;
        border: 1px solid #ccc;
        background-color: #fff;
        z-index: 1000;
        display: none;
        border-radius: 5px;
    }

    .custom-dropdown .dropdown-list li {
        padding: 10px;
        cursor: pointer;
        display: flex;
        align-items: center;
    }

    .custom-dropdown .dropdown-list li:hover {
        background-color: rgba(0, 0, 0, 0.05);
    }

    .custom-dropdown .dropdown-list input[type="checkbox"] {
        margin-right: 10px;
    }

    .custom-dropdown .dropdown-btn:focus + .dropdown-list,
    .custom-dropdown .dropdown-list:hover {
        display: block;
    }
}


