 h1,
 h2,
 h3,
 h4,
 h5,
 h5,
 h6,
 p {
     margin: 0;
 }

 .row {
     margin: 0;
 }

 body {
     font-family: "Roboto", sans-serif;
     font-style: normal;
     overflow-x: hidden;
     width: 100%;
     background-color: #F5F6FA;
 }

 :root {
     --primary-color: #38845B;
     --secondary-color: #46504A;
     --light-bg-color: #DAE6E0;
     --light-text: #6E6E6E;
     --dark-text: #454545;
     --light: #ffffff;
     --main-bg: #F5F6FA;
     --form-border: #E3E6E5;
     --line: #C3C8C6;
 }


 .form-control.is-valid:focus,
 .was-validated .form-control:valid:focus {
     box-shadow: 0 0 0 .10rem rgba(var(--bs-success-rgb), .25);
 }

 .form-control.is-invalid:focus,
 .was-validated .form-control:invalid:focus {
     box-shadow: 0 0 0 .10rem rgba(var(--bs-danger-rgb), .25);
 }

 .btn-primary {
     font-size: 16px;
     font-weight: 500;
     color: var(--light);
     background-color: var(--primary-color);
     padding: 3px 20px;
     border: 2px solid transparent;
     border-radius: 10px;
     border-radius: 4px;
 }

 .btn-primary:hover {

     color: var(--primary-color);
     background-color: var(--light);
     border: 2px solid var(--primary-color);
 }

 .btn-primary {
     margin-right: 5px;
 }

 .btn-secondary {
     font-size: 16px;
     font-weight: 500;
     color: var(--primary-color);
     background-color: var(--light-bg-color);
     padding: 3px 20px;
     border: 2px solid transparent;
     border-radius: 10px;
     border-radius: 4px;
 }

 .btn-secondary:hover {
     color: var(--primary-color);
     background-color: var(--light);
     border: 2px solid var(--primary-color);
 }


 .btn-color {
     color: #38845b;
     font-size: 18px;
 }


 /* Add butoon */

 .add-purchase-btn {
     background-color: #46504a;
     font-size: 14px;
     font-weight: 600;
     color: #ffffff;
     border: none;
     padding: 8px 12px;
     border-radius: 5px;
     display: flex;
     align-items: center;
     gap: 8px;
     transition: background-color 0.3s;
 }

 .icon-circle {
     width: 20px;
     height: 20px;
     background: white;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .add-purchase-btn:hover {
     background-color: #2d6e4a;
     color: white;
 }

 .icon-circle i {
     color: #38845b;
     font-size: 14px;
     font-weight: 800;
 }

 /*  Delete Popup*/
 .swal-button--danger {
     background-color: #2F855A !important;
 }

 .swal-button--cancel {
     color: #2F855A !important;
     background-color: #DAE6E0 !important;
 }

 .swal-icon--warning__body,
 .swal-icon--warning__dot {
     background-color: #2F855A !important;
 }

 .swal-button--cancel:focus {
     box-shadow: none !important;
 }

 .swal-text {
     font-size: 16px !important;
     color: var(--dark-text) !important;
     font-weight: 400 !important;
 }

 .swal-title {
     color: #141414 !important;
 }

 .swal-icon--warning {
     border-color: #198754 !important;
 }

 .swal-button {
     background-color: var(--primary-color);
 }

 .swal-icon--success__ring {
     border: var(--primary-color) !important;
 }

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

 /* Form control input css */
 input[type="date"] {
     font-size: 14px;
     color: #212529;
     height: 38px;
     border-radius: 0.45rem;
 }

 input[type="text"] {
     font-size: 14px;
     height: 38px;
     border-radius: 0.45rem;
 }

 input[type="radio"] {
     font-size: 14px;

 }

 input[type="password"] {
     font-size: 14px;
     height: 38px;
     border-radius: 0.45rem;
 }

 .form-control:focus,
 .form-select:focus {
     color: var(--dark-text);
     border-color: var(--primary-color);
     outline: 0;
     box-shadow: 0 0 0 0.10rem rgba(56, 132, 91, 0.25);
 }

 .form-control:hover {
     border-color: var(--primary-color)
 }

 .form-label {
     color: #1A1A1A !important;
     font-size: 15px;
 }

 .form-control::placeholder {
     font-size: 14px;
     font-weight: 400;
     color: #6E6E6E;
     border-radius: 0.45rem;
 }

 .custom-field {
     font-size: 14px;
     transition: all 0.2s ease-in-out;
     color: #6E6E6E;
     width: 100% !important;
     border-radius: 0.45rem;
 }

 /* Hover */
 .custom-field:hover {
     border-color: #38845B;

 }

 /* Focus (active state) */
 .custom-field:focus {
     border-color: #38845B;
     box-shadow: 0 0 0 0.15rem rgba(56, 132, 91, 0.25);
 }

 /* Dropdown option hover & selected (browser supported) */
 .form-select option:checked,
 .form-select option:hover {
     background-color: #38845B !important;
     color: #fff !important;
 }

 /* Sidebar */

 #sidebar {
     background: #ffffff;
     height: 100vh;
     transition: 0.3s;
     max-width: 100%;
     overflow-x: hidden;
     padding: 20px 0px !important;
     position: sticky;
     top: 0;
     bottom: 0;

 }

 .sidebar.show {
     left: 0;
 }

 .logo-box {
     padding: 15px 45px;
     text-align: center;
 }

 .logo-box h4 {
     font-size: 50px;
     line-height: 0.5;

 }

 .logo .green {
     color: #38845B;
     font-weight: bold;
 }

 .logo small {
     color: #f97316;
     letter-spacing: 3px;
     font-size: 16px;
     font-weight: 600;

 }

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

 .menu li a {
     padding: 10px 22px;
     display: flex;
     align-items: center;
     gap: 12px;
     text-decoration: none;
     color: #46504A;
     transition: 0.3s;
     font-size: 15px;
     font-weight: 500;
 }

 .menu li a:hover {
     background: #e6f4ec;
     color: #2f7d52;

 }

 .menu li.active>a {
     font-weight: 600;
 }

 .menu ul {
     list-style: none;
     padding-left: 30px;
 }

 .sub-active a {
     color: #2f7d52;
     font-weight: 600;
 }

 .arrow {
     margin-left: auto;
     font-size: 12px;
 }

 .arrow {
     margin-left: auto;
     transition: transform 0.3s ease;
 }

 .menu-link[aria-expanded="true"] .arrow {
     transform: rotate(180deg);
 }

 /* End sidebar */

 /* TOP BAR */
 .topbar {
     height: 55px;
     background: #38845B;
     color: #fff;
     display: flex;
     align-items: center;
     justify-content: space-between;
     padding: 0 20px;
     width: 100%;
 }

 .toggle {
     cursor: pointer;
 }

 .profile {
     background: #fff;
     color: #2f7d52;
     width: 28px;
     height: 28px;
     border-radius: 50%;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     font-weight: bold;
     margin: 0 6px;
 }

 /* Parent ACTIVE */
 .menu-item.active>.menu-link {
     background-color: #E6F4ED;
     color: #2F855A;
     font-weight: 600;
 }

 /* Submenu default */
 .submenu-link {
     display: block;
     padding: 10px 16px 10px 48px;
     background-color: #E6F4ED;
     color: #1f2937;
     text-decoration: none;
 }



 /* Submenu ACTIVE */
 .submenu-link.active {
     background-color: #2F855A;
     color: #fff;
 }

 /* Child active */
 .menu-link.active {
     background: #2F855A;
     color: #fff;
 }

 /* Main Content */

 .main-content {
     margin-left: 0;
     padding: 15px 50px 0 50px;
     width: 100%;
     background-color: #F5F6FA;
 }


 .maincontent-heading h3 {
     font-weight: 600;
     color: #38845b;
     font-size: 36px;
 }

 .maincontent-heading .maincontent-subheading span {
     font-size: 24px;
     font-weight: 600;
 }



 /* Form Design */

 .bill-form,
 .attendance-card {
     padding: 30px;
     background-color: var(--light);
     border-radius: 10px;
     border: 1px solid #E3E6E5;
 }

 .bill-line {
     border-top: 1px solid var(--form-border)
 }

 .upload-card i {
     color: var(--primary-color);
 }

 .upload-card {
     border: 1px dashed var(--primary-color);
     background: var(--light);
     padding: 7px;
     text-align: center;
     border-radius: 6px;
     display: flex;
     flex-direction: column;
     align-items: center;
     /* horizontal center */
     justify-content: center;
     cursor: pointer;
 }

 .upload-card:hover {
     border: 1px solid var(--primary-color)
 }

 .upload-card input[type="file"] {
     display: none;
 }

 .upload-text {
     font-size: 14px;
     color: var(--dark-text);
     font-weight: 600;
 }

 /* Add row Button */


 .item-row .btn {
     width: 38px;
     height: 38px;
     padding: 0;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 19px;
 }

 .item-row .btn i {
     font-size: 18px;
     /* ICON SIZE FIX */
 }

 .item-row .button-container {
     display: flex;
     justify-content: center;
     align-items: center;
     gap: 10px;
     width: 100%;
 }


 /* Custom Dropdown menu */

 .input-dropdown {
     position: relative;
 }

 .dropdown-menu-custom {
     position: absolute;
     top: 100%;
     left: 0;
     width: 100%;
     z-index: 99999;
 }

 .select-wrapper ul {
     position: absolute;
     top: 100%;
     left: 0;
 }

 .dropdown-menu {
     position: absolute;
     top: 100%;
     left: 0;
     width: 100%;
     z-index: 9999;
 }

 /* Input */
 .input-dropdown .dropdown-input {
     width: 100%;
 }

 /* Dropdown list */
 .input-dropdown .dropdown-menu-custom {
     position: absolute;
     left: 0;
     right: 0;
     width: 100%;
     background: #fff;
     border: 1px solid #ced4da;
     border-top: none;
     border-radius: 0 0 6px 6px;
     box-shadow: 0 6px 14px rgba(0, 0, 0, .08);
     margin: 0;
     padding: 0;
     list-style: none;
     max-height: 250px;
     overflow-y: auto;

     display: none;
     z-index: 9999 !important;
 }

 /* Options */
 .dropdown-menu-custom li {
     padding: 10px 14px;
     font-size: 14px;
     cursor: pointer;
     white-space: nowrap;
 }

 .dropdown-menu-custom li:hover {
     background: #38845B;
     color: #fff;
 }

 /* Open state */
 .input-dropdown.open .dropdown-menu-custom {
     display: block;
 }

 .input-dropdown {
     position: relative;

 }

 .dropdown-input {
     padding-right: 35px;
     /* arrow ke liye space */
     cursor: pointer;
 }

 /* Dropdown Arrow */
 .input-dropdown::after {
     content: "\f107";
     /* Font Awesome chevron-down */
     font-family: "Font Awesome 6 Free";
     font-weight: 900;
     position: absolute;
     right: 12px;
     top: 50%;
     transform: translateY(-50%);
     pointer-events: none;
     color: #666;
 }

 /* Open state me arrow rotate */
 .input-dropdown.open::after {
     transform: translateY(-50%) rotate(180deg);
 }

 /* Input default radius */
 .input-dropdown .dropdown-input {
     border-radius: 6px;
 }

 /* Dropdown open hone par input ka bottom radius remove */
 .input-dropdown.open .dropdown-input {
     border-bottom-left-radius: 0;
     border-bottom-right-radius: 0;
 }



 .amount-input::placeholder {
     font-size: 16px;
     font-weight: 600;
     color: var(--navbar-bg);
 }

 /* datepicker */
 .flatpickr-day:hover {
     background: #DAE6E0;
     color: #38845B;
 }

 .flatpickr-day.selected,
 .flatpickr-day.startRange,
 .flatpickr-day.endRange {
     background: #38845B !important;
     color: #fff !important;
     font-weight: 600;
     border: none;
 }

 .form-section {
     border-bottom: 1px solid #cfd4d1;
     margin-bottom: 5px;
     padding-bottom: 6px;
 }

 .section-title {
     font-size: 16px;
     font-weight: 600;
     color: #38845B;
     /* green heading */
 }

 /* Delete Card*/
 div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm):hover {
     background-color: color-mix(in srgb, #38845b, var(--swal2-action-button-hover)) !important;
 }

 div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm) {
     border-radius: var(--swal2-confirm-button-border-radius);
     background: initial;
     background-color: #38845b !important;
     box-shadow: var(--swal2-confirm-button-box-shadow);
     color: var(--swal2-confirm-button-color);
     font-size: 1em;
 }

 div:where(.swal2-icon).swal2-warning {
     border-color: #dc3545 !important;
     color: #dc3545 !important;
 }

 div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel) {
     border-radius: var(--swal2-cancel-button-border-radius);
     background: initial;
     background-color: #38845b33 !important;
     box-shadow: var(--swal2-cancel-button-box-shadow);
     color: #38845b !important;
     font-size: 1em;
 }


 /* Purchase Bill Amount */

 .amount-input {
     border: none;
     background: transparent;
     text-align: right;

 }

 .amount-input:focus {
     outline: none;
     box-shadow: none;
 }

 .bill-border {
     border-top: 1px solid #e0e0e0;
     margin: 3px 0;
 }

 /* Validation */

 /* Hide all validation icons */
 .is-invalid {
     background-image: none !important;
     padding-right: 0.75rem !important;
 }

 /* Bootstrap / custom icon remove */
 .form-control.is-invalid,
 .form-select.is-invalid {
     background-image: none !important;
 }

 /* Hide any absolute error icon */
 .error-icon,
 .invalid-feedback,
 .error-msg {
     display: none !important;
 }

 /* custom dropdown error fix */
 .input-dropdown .dropdown-input.is-invalid {
     border-color: #dc3545;
     background-image: none !important;
     padding-right: 12px;
 }

 .input-dropdown .dropdown-input.is-invalid:focus {
     box-shadow: 0 0 0 .10rem rgba(220, 53, 69, .25);
 }

 .upload-card.is-invalid {
     border: 1px solid #dc3545;
 }

 /* Table CSS */

 .report-table td:last-child {
     width: 60px;
 }

 .report-table td:first-child {
     width: 80px;
 }

 .gst-igst {
     display: none;
 }