@import "./base.css";

.main_wrapper {
    display: flex;
    align-items: start;
    justify-content: start;
    gap: 20px;
    padding: 20px;
    background-color: #f4f7fe;
    width: 100dvw;
    height: 100dvh;
    overflow: hidden scroll;
}

.admin_sidebar {
    flex: 0 0 auto;
    width: 100%;
    height: 100%;
    max-width: 220px;
    background-color: #ffffff;
    border-radius: 16px;
    z-index: 2;
    margin-right: 5px;
    position: sticky;
    top: 0px;
    left: 0px;
}

.main_content {
    width: calc(100% - 250px);
    flex: 1 1 auto;
}

.sidebar_header {
    padding: 15px 12px 12px;
    border-bottom: 1px solid #e4edfb;
}

.brand_logo {
    display: block;
    width: 125px;
    margin: 0px auto;
}

.sidebar_nav {
    padding: 16px;
    height: calc(100% - 60px);
    overflow: auto scroll;
}

.sidebar_menu {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.sidebar_menu_item {
    display: block;
    position: relative;
}

.sidebar_menu_btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: start;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 50px;
    cursor: pointer;
    color: #697286;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
}

.sidebar_menu_item.active .sidebar_menu_btn {
    color: #000000;
}

.sidebar_menu_item.active .sidebar_menu_btn,
.sidebar_menu_btn:hover {
    background-color: #f4f7fe;
}

.sidebar_menu_icon {
    width: 20px;
    aspect-ratio: 1;
}

.sidebar_menu_icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.sidebar_menu_item .active_icon,
.sidebar_menu_item:hover .inactive_icon,
.sidebar_menu_item.active .inactive_icon {
    display: none;
}

.sidebar_menu_item:hover .sidebar_submenu,
.sidebar_menu_item.active .sidebar_submenu,
.sidebar_menu_item:hover .active_icon,
.sidebar_menu_item.active .active_icon {
    display: block;
}

.sidebar_menu_dropdown_icon {
    width: 16px;
    aspect-ratio: 1;
    margin-left: auto;
}

.sidebar_submenu {
    position: fixed;
    top: 60px;
    left: 240px;
    z-index: 999;
    min-width: 200px;
    max-height: calc(100vh - 60px - 16px);
    overflow-y: auto;
    padding: 8px 2px;
    border-radius: 24px;
    backdrop-filter: blur(14px);
    background-color: #f4f7fe66;
    border: 1px solid #ffffff;
    box-shadow: 0px 4px 11px 0px #565c942e;
    display: none;
}

.sidebar_submenu_item {
    color: #697286;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.5;
    padding: 8px 10px;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
    white-space: nowrap;
    cursor: pointer;
}

.sidebar_submenu_item::before {
    content: "";
    width: 24px;
    height: 24px;
}

.sidebar_submenu_item::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 24px;
    transform: translate(-75%, -50%);
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #4a6cf7;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.15s ease;
    will-change: opacity;
}

.sidebar_submenu_item:hover::after,
.sidebar_submenu_item.active::after {
    opacity: 1;
}

.sidebar_submenu_item:hover,
.sidebar_submenu_item.active {
    color: #4a6cf7;
}

.main_header {
    width: 100%;
    position: sticky;
    top: 0;
    left: 0;
    z-index: 100;
    border-radius: 50px;
    padding: 12px 24px 12px 12px;
    background-color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: end;
    gap: 16px;
    margin-bottom: 20px;
    box-shadow: #eee 0px 0px 15px 0px;
}

.searchbar_input_wrap {
    max-width: 268px;
    width: 100%;
    height: 42px;
    gap: 4px;
    border-radius: 50px;
    padding: 6px 14px;
    display: flex;
    align-items: center;
    background-color: #f4f7fe;
}

.searchbar_input_wrap svg {
    width: 16px;
    aspect-ratio: 1;
    flex: 0 0 auto;
    display: none;
}

.searchbar_clear_icon {
    cursor: pointer;
}

.searchbar_input_wrap:has(.searchbar_input:not(:placeholder-shown)) .searchbar_clear_icon,
.searchbar_input_wrap:has(.searchbar_input:placeholder-shown) .searchbar_icon {
    display: block;
}

.searchbar_input {
    width: 100%;
    height: 100%;
    border: none;
    outline: none;
    background-color: transparent;
    color: #697286;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
}

.notification_icon,
.settings_icon {
    width: 40px;
    height: 40px;
    padding: 10px;
    border-radius: 50%;
    background-color: #f9faff;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    justify-self: end;
    cursor: pointer;
}

.notification_icon[data-notification-count="0"]::before,
.notification_icon:not([data-notification-count])::before {
    display: none;
}

.notification_icon::before {
    content: attr(data-notification-count);
    box-sizing: border-box;
    min-width: 16px;
    min-height: 16px;
    width: max-content;
    height: max-content;
    color: #ffffff;
    font-size: 10px;
    font-weight: 400;
    line-height: 1.5;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0%;
    right: 0%;
    transform: translate(10%, -10%);
    z-index: 1;
    border-radius: 50%;
    padding: 1px;
    background-color: #b12029;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.vertical_rule {
    width: 2px;
    height: 40px;
    background-color: #e6ebf8;
}

.searchbar_user_details_wrap {
    display: grid;
    grid-template-columns: repeat(3, auto);
    grid-template-rows: repeat(2, auto);
    align-items: center;
    column-gap: 10px;
}

.searchbar_user_img {
    grid-area: 1 / 1 / 3 / 2;
    width: 40px;
    aspect-ratio: 1;
    cursor: pointer;
}

.searchbar_user_name {
    grid-area: 1 / 2 / 2 / 3;
    color: #0e1020;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 2px;
}

.searchbar_user_mail {
    grid-area: 2 / 2 / 3 / 3;
    color: #777777;
    font-weight: 400;
    font-size: 12px;
    line-height: 1.5;
}

.searchbar_user_details_dropdown {
    grid-area: 1 / 3 / 3 / 4;
    cursor: pointer;
}

.searchbar_user_dropdown {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 2;
    min-width: 220px;
    margin-top: 8px;
    padding: 8px 0;
    border-radius: 16px;
    background-color: #ffffff;
    box-shadow: 0 8px 16px #0000001a;
}

.searchbar_user_dropdown a {
    display: block;
    color: #333;
    font-size: 14px;
    padding: 8px 16px;
    text-decoration: none;
}

.searchbar_user_dropdown a:hover {
    background-color: #f4f7fe;
}

.searchbar_user_dropdown .la {
    margin-right: 10px;
    font-size: 20px;
    line-height: 1;
    font-weight: 600;
}

/* --------------------------------------- Attribute page css starts here ---------------------------- */

.modal_wrapper .modal-content {
    min-width: 500px;
    min-height: 226px;
    width: 100%;
    height: 100%;
    padding: 16px 20px;
    border-radius: 24px;
    background-color: #ffffff;
    box-shadow: 0px 4px 24px 0px #8c98be38;
}

.modal_wrapper .modal-title {
    font-size: 20px;
    font-weight: 500;
    color: #0d1a36;
}

.modal_wrapper .modal_wrapper_body {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.modal_wrapper .modal_wrapper_body .modal-heading {
    margin: 0;
    font-size: 20px;
    line-height: 1.6;
    font-weight: 500;
    color: #0D1A36;
    text-align: center;
}

.modal_wrapper .modal_wrapper_body .modal-description {
    font-size: 14px;
    color: #777777;
    line-height: 1.5;
    text-align: center;
    max-width: 420px;
    margin: 0 auto;
}

.modal_para {
    font-size: 13px;
    color: #777777;
    margin: 0px;
}

.btn_with_outline {
    border-radius: 50px;
    border: 1px solid #0e1020;
    color: #0e1020;
    font-size: 14px;
    padding: 9px 34px;
    min-height: 42px;
    min-width: 120px;
    width: fit-content;
    text-align: center;
}

.btn_with_bg {
    border-radius: 50px;
    border: none;
    outline: none;
    background-color: #0e1020;
    color: #ffffff;
    font-size: 14px;
    padding: 10px 24px;
    min-height: 42px;
    min-width: 120px;
    width: fit-content;
    text-align: center;
}

.modal_wrapper .input_wrapper input[type="checkbox"] {
    width: 16px;
    height: 16px;
}

.modal_wrapper .input_wrapper label {
    font-size: 14px;
}

.modal_wrapper .input_wrapper .input_select,
.modal_wrapper .input_wrapper input[type="text"],
.modal_wrapper .input_wrapper input[type="password"],
.modal_wrapper .input_wrapper input[type="email"],
.modal_wrapper .input_wrapper input[type="number"] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 100%;
    padding: 12px 35px 12px 20px;
    margin-top: 6px;
    font-size: 14px;
    border-radius: 50px;
    background-color: #f9faff;
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 30px;
    cursor: text;
}

.modal_wrapper .input_wrapper .input_select {
    border: none;
    background-image: url('data:image/svg+xml;utf8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 9L12 15L18 9" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke="currentColor"/></svg>');
}

.modal_wrapper .input_wrapper input[type="text"] {
    border: 1px solid transparent;
    transition: border-color 0.2s ease;
}

.tag_list_wrapper,
.edit_tag_list_wrapper {
    position: relative;
}

.modal_wrapper .input_wrapper .close_icon {
    position: absolute;
    top: 42px;
    right: 14px;
    width: auto;
    cursor: pointer;
}

.tag_list_wrapper_edit {
    position: relative;
}

.tag_list_wrapper_edit .close_icon {
    top: 34px !important;
}

.modal_wrapper .input_wrapper input[type="text"]:focus {
    border-color: #becdff;
    outline: none;
}

.color_attributes {
    gap: 20px;
}

.delete_row {
    cursor: pointer;
    margin-top: 28px;
    color: #0d1a36;
}

.delete_row:hover {
    opacity: 0.7;
}

.modal_wrapper .color_attributes_wrapper .input_wrapper input[type="text"] {
    background-image: none;
}

.tag_list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 10px;
}

.tag_list .tag {
    gap: 6px;
    padding: 4px 12px;
    border-radius: 50px;
    background-color: #e4edfb;
    border: 1px solid #cbd1e5;
    font-size: 12px;
    color: #0d1a36;
    white-space: nowrap;
    text-transform: uppercase;
}

.tag button {
    border: none;
    background: none;
    cursor: pointer;
    font-size: 25px;
    line-height: 1;
    padding: 0;
    color: #0d1a36;
}

.modal_wrapper .input_wrapper .input_select:focus {
    border: none;
    outline: none;
}

.modal_wrapper .input_wrapper .input_select option {
    background-color: #f9faff;
    color: #0d1a36;
}

.hidden {
    display: none !important;
}

.modal {
    background-color: #161c2d80;
}

body:has(.modal.show) .main_header {
    z-index: 10;
}

.modal-backdrop {
    display: none;
}

/* --------------------------------------- Delete attribute modal css starts here ---------------------------- */
.delete_content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 8px;
    text-align: center;
}

.delete_content .delete_icon {
    width: 100px;
    height: 100%;
}

.delete_content .modal_para {
    font-size: 14px;
    font-weight: 300;
    color: #777777;
    margin: 0px;
    line-height: 1.5;
}

/* --------------------------------------- Delete attribute modal css ends here ---------------------------- */

/* --------------------------------------- Update stock modal css starts here ---------------------------- */
.material_details_wrapper {
    width: 100%;
    background-color: #f8f9fc;
    border-radius: 16px;
    padding: 20px;
    margin-top: 15px;
}

.material_details_wrapper .title {
    position: relative;
    font-size: 16px;
    font-weight: 500;
    padding-left: 8px;
    color: #0d1a36;
}

.material_details_wrapper .title::before {
    content: "";
    position: absolute;
    left: 0px;
    top: 1px;
    width: 3px;
    height: 90%;
    background-color: #8ba2ed;
    border-radius: 50px;
}

.material_grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    text-align: left;
    margin-top: 24px;
}

.material_grid .material_wrapper {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.material_details_wrapper .material_grid p {
    margin: 0px;
}

.lg_modal {
    max-width: 1040px;
}

.md_modal {
    max-width: 740px;
}

.modal_para_dark {
    display: flex;
    align-items: baseline;
    gap: 8px;
    font-size: 14px;
    font-weight: 400;
    color: #0d1a36;
    margin: 0px;
}

.mode_table_wrapper {
    width: 100%;
    margin-top: 24px;
}

.mode_table_wrapper .container {
    padding: 0px;
}

/* Layout fix for radio + pill */
.radio-tabs .nav-item {
    display: flex;
    align-items: center;
    gap: 6px;
    position: relative;
    cursor: pointer;
}

.mode_table_wrapper .tab-content {
    border: none;
    box-shadow: none;
}

/* NAV ITEM */
.radio-tabs .nav-item {
    position: relative;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
}

/* HIDDEN RADIO */
.radio-tabs input[type="radio"] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
    z-index: -1;
    margin: 0;
}

/* CUSTOM RADIO */
.radio-tabs .checkmark {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 1px solid #464e8f;
    background: #f4f7fe;
    pointer-events: none;
}

/* INNER DOT */
.radio-tabs .checkmark::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #fff;
    transform: translate(-50%, -50%);
    display: none;
}

/* CHECKED STATE */
.radio-tabs input[type="radio"]:checked~.checkmark {
    background: #0d1a36;
}

.radio-tabs input[type="radio"]:checked~.checkmark::after {
    display: block;
}

/* LABEL */
.radio-tabs .nav-link {
    padding-left: 24px;
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    color: #0d1a36;
    background: transparent;
    cursor: pointer;
}

/* TAB PANE */
.tab-pane {
    display: none;
}

/* Show correct tab pane */
.radio-tabs:has(#add:checked) #add-pane,
.radio-tabs:has(#adjust:checked) #adjust-pane,
.radio-tabs:has(#add_md:checked) #add-pane_md,
.radio-tabs:has(#adjust_md:checked) #adjust-pane_md,
.radio-tabs:has(#all_supplier:checked) #all_pane,
.radio-tabs:has(#specific_period:checked) #specific_pane,
.radio-tabs:has(#all_vendor:checked) #all_pane_vendor,
.radio-tabs:has(#vendor_specific_period:checked) #specific_pane_vendor,
.radio-tabs:has(#all_export:checked) #export_all_pane_md,
.radio-tabs:has(#except_export:checked) #except_pane_md,
.radio-tabs:has(#individual_export:checked) #individual_pane_md,
.radio-tabs:has(#overwrite_duplicate:checked) #overwrite_pane_duplicate,
.radio-tabs:has(#skip_duplicate:checked) #skip_pane_duplicate {
    display: block;
}

.label_text {
    font-size: 13px;
    font-weight: 400;
    text-align: left;
    margin-bottom: 6px;
}

.reason_box textarea {
    width: 100%;
    background-color: #f9faff;
    border-radius: 16px;
    padding: 8px 16px;
}

/* --------------------------------------- Update stock modal css ends here ---------------------------- */

/* --------------------------------------- Low stock modal css starts here ---------------------------- */
.low_stock_input_wrapper input {
    width: 100%;
    background-color: #f9faff;
    border-radius: 50px;
    padding: 10px 25px;
}

.modal_table_wrapper {
    width: 100%;
    text-align: left;
    margin-top: 6px;
}

.modal_table_wrapper thead {
    background-color: #e6ebf8;
    color: #0d1a36;
    font-size: 14px;
    font-weight: 400;
}

.modal_table_wrapper tbody tr td {
    font-size: 14px;
    font-weight: 300;
    color: #777777;
}

.modal_table_wrapper {
    border-spacing: 0;
    border-collapse: separate;
    border-radius: 10px;
    border: 1px solid #F4F7FE;
    overflow: hidden;
}

table.modal_table_wrapper th:not(:last-child),
table.modal_table_wrapper td:not(:last-child) {
    border-right: 1px solid #F4F7FE;
}

table.modal_table_wrapper>thead>tr:not(:last-child)>th,
table.modal_table_wrapper>thead>tr:not(:last-child)>td,
table.modal_table_wrapper>tbody>tr:not(:last-child)>th,
table.modal_table_wrapper>tbody>tr:not(:last-child)>td,
table.modal_table_wrapper>tfoot>tr:not(:last-child)>th,
table.modal_table_wrapper>tfoot>tr:not(:last-child)>td,
table.modal_table_wrapper>tr:not(:last-child)>td,
table.modal_table_wrapper>tr:not(:last-child)>th,
table.modal_table_wrapper>thead:not(:last-child),
table.modal_table_wrapper>tbody:not(:last-child),
table.modal_table_wrapper>tfoot:not(:last-child) {
    border-bottom: 1px solid #F4F7FE;
}

.modal_table_wrapper tbody tr td input {
    width: 100%;
    background-color: #f9faff;
    border-radius: 8px;
    padding: 10px 16px;
    color: #0D1A36;
    font-weight: 400;
}

.modal_table_wrapper th {
    padding: 16px;
    font-weight: 400;
}

.modal_table_wrapper tr,
.modal_table_wrapper td {
    padding: 10px 16px;
}

.modal_table_wrapper.rounded-table th:first-child {
    border-top-left-radius: 12px;
}

.modal_table_wrapper.rounded-table th:last-child {
    border-top-right-radius: 12px;
}

.modal_table_wrapper.rounded-table tr:last-child td:first-child {
    border-bottom-left-radius: 12px;
}

.modal_table_wrapper.rounded-table tr:last-child td:last-child {
    border-bottom-right-radius: 12px;
}

.modal_table_wrapper.vendor-bills-table tr td {
    font-weight: 400;
    color: #0D1A36;
    font-size: 14px;
    line-height: 1.5;
}

.modal_table_wrapper.vendor-bills-table tr .add-tags-wrapper .select-box {
    background-color: transparent;
    padding: 0;
    border-radius: 0;
}

.modal_table_wrapper.vendor-bills-table tr .add-tags-wrapper .select-box::after {
    content: unset;
}

.modal_table_wrapper.vendor-bills-table tr .add-tags-wrapper .item_tag {
    width: fit-content;
}


/* --------------------------------------- Low stock modal css ends here ---------------------------- */

/* --------------------------------------- Supplier management page css starts here ---------------------------- */
.import-export-wrapper {
    position: relative;
    display: inline-block;
}

.import-export-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border: 1.5px solid #1f2937;
    border-radius: 999px;
    background: #fff;
    color: #111827;
    font-size: 14px;
    cursor: pointer;
}

.arrow {
    font-size: 12px;
    transition: transform 0.25s ease;
}

/* rotate arrow when open */
.import-export-btn.is-open .arrow {
    transform: rotate(180deg);
}

.dropdown-menu {
    position: absolute;
    top: calc(100% + 0px);
    width: 100%;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
    display: none;
    overflow: hidden;
}

.import-export-wrapper .dropdown-menu {
    right: 0;
    min-width: 140px;
}

.dropdown-menu button {
    width: 100%;
    padding: 8px 12px;
    background: none;
    border: none;
    text-align: left;
    cursor: pointer;
    font-size: 14px;
}

.dropdown-menu button:hover {
    background: #f3f4f6;
}

.datepicker.dropdown-menu {
    width: fit-content;
}

.anchor_para {
    font-size: 12px;
    font-weight: 400;
    color: #4A6CF7;
    text-decoration: underline;
    cursor: pointer;
}

.import_export_modal_wrapper .modal-footer {
    gap: 20px;
}

.file_import_wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 4.3;
    border: 2px dashed #CBD1E5;
    background-color: #F9FAFF;
    border-radius: 24px;
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.file_import_wrapper.dragover {
    border-color: #3F6EF5;
    background-color: #EEF2FF;
}

/* .file_input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
} */

.backstrap-file {
    position: relative;
    display: block;
    width: 100%;
    min-height: 45px;
    margin-bottom: 0;
    cursor: pointer;
}

.backstrap-file-input {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 5;
    width: 100%;
    height: 100%;
    margin: 0;
    opacity: 0;
    cursor: pointer;
}

.backstrap-file-label {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1;
    height: 100%;
    padding: 0 0.75rem;
    font-weight: 400;
    font-size: 16px;
    color: #5c6873;
    background-color: #F9FAFF;
    border: 1px solid #F9FAFF;
    border-radius: 0.25rem;
    pointer-events: none;
    display: flex;
    align-items: center;
    border-radius: 50px;
    overflow: hidden;
}

/* Updated ::after pseudo-element to show a centered attach icon */
.backstrap-file-label::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    display: block;
    width: 45px;
    height: 100%;
    content: "";
    background-color: #F9FAFF;
    border-left: 1px solid #F9FAFF;
    border-radius: 0 0.25rem 0.25rem 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%235c6873' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.44 11.05-9.19 9.19a6 6 0 0 1-8.49-8.49l8.57-8.57A4 4 0 1 1 18 8.84l-8.59 8.57a2 2 0 0 1-2.83-2.83l8.49-8.48'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center center;
}

.file_import_content {
    text-align: center;
    pointer-events: none;
    /* allow click through to input */
}

.file_import_content .title {
    color: #0D1A36;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 6px;
}

.file_import_content .title span {
    color: #4A6CF7;
    text-decoration: underline;
}

.file_import_content .desc {
    font-size: 14px;
    color: #6B7280;
}

.file_import_content .file_name {
    margin-top: 6px;
    font-size: 14px;
    color: #0D1A36;
}

.file_preview {
    width: 100%;
    text-align: left;
}

.file_name {
    font-weight: 500;
    margin: 0;
}

.file_size {
    font-size: 12px;
    color: #777777;
    margin: 0;
}

.file_left {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.file_card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #F9FAFF;
    padding: 10px 15px;
    border-radius: 12px;
    border: 2px solid #CBD1E5;
    min-height: 102px;
    height: 100%;
}

.remove_file {
    border: none;
    background: transparent;
    cursor: pointer;
    font-size: 16px;
    background-color: #ffffff;
    padding: 5px;
    border-radius: 50px;
}

.progress_bar {
    height: 6px;
    background: #e2e8f0;
    border-radius: 10px;
    margin-top: 10px;
    overflow: hidden;
    display: block;
    transition: opacity 0.3s ease;
}

.uploading_text {
    transition: opacity 0.3s ease;
}

.progress_bar.hide,
.uploading_text.hide,
.file_upload_text.hide {
    display: none;
    /* opacity: 0;
    visibility: hidden; */
}

.progress {
    height: 100%;
    width: 0%;
    background: #4A6CF7;
    transition: width 0.3s ease;
}

.file_upload_text {
    font-size: 12px;
    font-weight: 400;
}

.file_upload_text.completed {
    color: #2AB500;
}

.file_upload_text.error {
    color: #FF2A2A;
}

.announcement {
    font-size: 13px;
    font-weight: 400;
    color: #0D1A36;
    background-color: #E4EDFB;
    border-radius: 4px;
    position: relative;
    padding: 10px 16px;
    margin-top: 8px;
}

.announcement::before {
    content: "";
    position: absolute;
    left: 0px;
    top: 0px;
    width: 4px;
    height: 100%;
    background-color: #0E1020;
    border-top-left-radius: 50px;
    border-bottom-left-radius: 50px;
}

.tab-content {
    background-color: transparent;
    border: none;
    box-shadow: none;
}

.file_format_title {
    font-size: 14px;
    font-weight: 500;
    color: #4B4B4B;
    margin-bottom: 8px;
}

.date_range_wrapper {
    width: 100%;
}

.date_label {
    display: block;
    font-size: 13px;
    font-weight: 400;
    margin-bottom: 6px;
    color: #374151;
}

.date_input_wrapper {
    position: relative;
}

.date_range_input {
    width: 100%;
    padding: 10px 40px 10px 14px;
    border-radius: 999px;
    border: none;
    background-color: #F5F7FF;
    font-size: 14px;
    color: #111827;
    cursor: pointer;
}

.date_range_input:focus {
    outline: none;
}

.calendar_icon {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    font-size: 16px;
}

.input-end-wrapper {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 100%;
    cursor: pointer;
}

.input-end-wrapper svg {
    width: 16px;
    height: 16px;
}

.date_clear_btn {
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    border-radius: 50%;
    color: #ffffff;
    font-size: 13px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
    transition: background-color 0.15s ease;
    user-select: none;
}

.supplier_checklist {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 15px;
}

/* --------------------------------------- Supplier management page css ends here ---------------------------- */

/* --------------------------------------- Vendor management page css starts here ---------------------------- */
.add_bank_modal {
    max-width: 570px;
}

.form_wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 16px
}

.form_wrapper .input_wrapper label {
    font-size: 13px;
    font-weight: 400;
}

.js-save-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.js-account-error {
    font-size: 12px;
    margin-top: 4px;
}

.document_list_modal {
    max-width: 535px;
}

.view_document {
    font-size: 14px;
    font-weight: 500;
    color: #4A6CF7;
    text-decoration: underline;
    cursor: pointer;
    margin: 0px;
}

.document_list_wrapper_main {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 16px;
}

.document_list_wrapper {
    background-color: #F4F7FE;
    border-radius: 12px;
    padding: 9px 12px;
}

.document_list_wrapper .file_name {
    font-size: 13px;
    font-weight: 400;
    color: #0D1A36;
    margin: 0px;
    padding-bottom: 4px;
}

.document_list_wrapper .file_size {
    font-size: 12px;
    font-weight: 400;
    color: #777777;
}

.file_type_img {
    padding-right: 10px;
}

.duplicate_settings_wrapper {
    border-radius: 16px;
    border: 1px solid #CBD1E5;
    padding: 20px;
}

/* --------------------------------------- Vendor management page css ends here ---------------------------- */

/* --------------------------------------- Purchase css starts here ---------------------------- */
.error_text {
    color: #FF2A2A !important;
}

.add_raw_material_modal {
    max-width: 1262px;
}

.raw_material_main_wrapper {
    width: 100%;
    margin-top: 20px;
}

.raw_material_main_wrapper .wrapper_header {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #E4EDFB;
    border-radius: 16px;
    padding: 8px 16px;
}

.raw_material_main_wrapper .wrapper_header p {
    font-size: 16px;
    font-weight: 500;
    margin: 0px;
    color: #0D1A36;
}

.raw_material_main_wrapper .wrapper_header .search_items_wrapper {
    width: 65%;
    gap: 16px;
}

.raw_material_main_wrapper .wrapper_header .canvas_search_wrapper {
    text-align: start;
    width: 78%;
}

.wrapper_body {
    width: 100%;
    max-height: 350px;
    overflow-y: auto;
    box-shadow:
        0 4px 6px rgba(140, 152, 190, 0.12),
        0 10px 20px rgba(140, 152, 190, 0.22);
    border-radius: 4px;
    margin-top: 8px;
}

.wrapper_body_main {
    border-bottom: 1px solid #F4F7FE;
}

.checkbox_avatar_content_wrapper {
    gap: 20px;
}

.checkbox_avatar_content_wrapper input[type="checkbox"] {
    width: 16px;
    height: 16px;
    background-color: rgba(244, 247, 254, 1);
    border: 1px solid rgba(203, 209, 229, 1);
    border-radius: 3px;
}

.checkbox_avatar_content_wrapper .avatar_img {
    width: 30px;
    height: 30px;
}

.checkbox_avatar_content_wrapper .avatar_img img {
    width: 100%;
    height: 100%;
}

.material_name {
    font-size: 14px;
    font-weight: 400;
    color: rgba(74, 108, 247, 1);
}

.checkbox_avatar_content_wrapper .material_code {
    font-size: 13px;
    font-weight: 300;
    color: rgba(119, 119, 119, 1);
}

.left_content {
    border-right: 1px solid #F4F7FE;
}

.left_content,
.right_content {
    width: 50%;
    padding: 14px 16px;
}

.left_content p,
.right_content p {
    font-size: 14px;
    font-weight: 400;
    color: #0D1A36;
}

.left_content span,
.right_content span {
    font-size: 13px;
    font-weight: 300;
    color: #777777;
}

.inc_dec_wrapper {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 24px;
}

.inc_dec_wrapper .qty-value {
    font-size: 14px;
    font-weight: 400;
    color: #0D1A36;
}

.inc_dec_wrapper .qty-btn {
    font-size: 30px;
    font-weight: 400;
}

.item_details_wrapper {
    width: 100%;
    border: 1px solid #F4F7FE;
    border-radius: 16px;
    padding: 16px;
    margin-top: 20px;
}

.item_details_wrapper table {
    width: 100%;
}

.item_details_wrapper thead {
    background-color: #E6EBF8;
    border-radius: 4px;
}

.item_details_wrapper input {
    width: 16px;
    height: 16px;
    border: 1px solid #CBD1E5;
}

.item_details_wrapper table thead th {
    padding: 9px 14px;
    font-size: 14px;
    font-weight: 400;
    text-align: left;
    color: #0D1A36;
}

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

.item_details_wrapper table tbody tr td {
    padding: 9px 14px;
    font-size: 14px;
}

.item_tag {
    background-color: #F4F7FE;
    border-radius: 8px;
    font-size: 10px;
    font-weight: 400;
    color: #777777;
    padding: 4px 6px;
}

.cancel_reason_wrapper {
    width: 100%;
    text-align: left;
    margin-top: 15px;
}

.cancel_reason_wrapper label {
    font-size: 13px;
    font-weight: 400;
    color: #374151;
}

.cancel_reason_wrapper textarea {
    width: 100%;
    background-color: #F9FAFF;
    padding: 8px 16px;
    border-radius: 16px;
    font-size: 14px;
}

.cancel_reason_wrapper input[type="text"] {
    width: 100%;
    border-radius: 50px;
    background-color: #F9FAFF;
    padding: 11px 20px;
    font-size: 14px;
}

/* --------------------------------------- Purchase css ends here ---------------------------- */

/* --------------------------------------- Off canvas css starts here ---------------------------- */

.offcanvas-backdrop {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.5);
    opacity: 0;
    transition: opacity 0.15s linear;
    z-index: 1040;
    pointer-events: none;
}

.offcanvas-backdrop.show {
    opacity: 1;
    pointer-events: auto;
}

.stock_canvas.offcanvas {
    position: fixed;
    top: 0;
    bottom: 0;
    width: 608px;
    max-width: 100%;
    background-color: #e4edfb;
    border-top-left-radius: 24px;
    border-bottom-left-radius: 24px;
    z-index: 1045;
    visibility: hidden;
    transform: translateX(100%);
    transition:
        transform 0.3s ease-in-out,
        visibility 0.3s ease-in-out;
    display: flex;
    flex-direction: column;
}

.stock_canvas.offcanvas-end {
    right: 0;
}

.stock_canvas.offcanvas.show {
    visibility: visible;
    transform: translateX(0);
}

.stock_canvas .offcanvas-header {
    position: relative;
}

.stock_canvas .offcanvas-body {
    padding: 20px;
    overflow-y: auto;
    flex: 1;
}

.stock_canvas .tab-content {
    background-color: transparent;
    border: none;
    box-shadow: none;
}

.stock_canvas .offcanvas-header .btn-close {
    background: none;
    border: none;
    cursor: pointer;
    position: absolute;
    left: -20px;
    top: 75px;
    background: #e4edfb;
    border-radius: 50px;
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.stock_canvas .nav-pills {
    width: fit-content;
    background-color: #ffffff;
    padding: 7px;
    border-radius: 50px;
    gap: 12px;
}

.stock_canvas .nav-pills .nav-link {
    font-size: 14px;
    font-weight: 500;
    padding: 8px 16px;
    border-radius: 50px;
    transition: all 0.2s ease;
}

.stock_canvas .nav-pills .nav-link.active {
    color: #ffffff;
    background-color: #8ba2ed;
    transition: all 0.2s ease;
}

.canvas_search_wrapper input[type="text"] {
    width: 100%;
    background-color: #ffffff;
    border-radius: 50px;
    padding: 10px 16px;
    font-size: 14px;
    font-weight: 400;
    color: #777777;
}

.canvas_search_wrapper .searchbar_icon {
    position: absolute;
    top: 50%;
    right: 0%;
    transform: translate(-100%, -50%);
    width: auto;
    background-color: #ffffff;
}

.canvas_content_wrapper {
    width: 100%;
    border-radius: 16px;
    padding: 20px;
    margin-top: 20px;
}

.canvas_content_wrapper .content_header {
    display: flex;
    flex-direction: column;
    justify-content: start;
    gap: 10px;
    background-color: #f8f9fc;
    padding: 20px;
    border-radius: 16px;
}

.canvas_content_wrapper .content_header h5 {
    font-size: 16px;
    font-weight: 500;
}

.canvas_content_wrapper .content_header p {
    font-size: 14px;
    font-weight: 400;
    color: #777777;
}

.supplier_details_grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 20px;
}

.supplier_details_wrapper {
    display: flex;
    flex-direction: column;
    justify-content: start;
    gap: 6px;
}

.copy_icon {
    width: 14px;
    height: 14px;
    color: #4a6cf7;
    cursor: pointer;
}

.adrs_tag a {
    color: #4A6CF7 !important;
}

.add_value {
    font-size: 13px;
    font-weight: 400;
    cursor: pointer;
    gap: 4px;
}

.supplier_details_wrapper .title {
    font-size: 14px;
    font-weight: 300;
    color: #777777;
}

.supplier_details_wrapper .desc {
    display: flex;
    align-items: baseline;
    gap: 8px;
    font-size: 14px;
    font-weight: 400;
    color: #0d1a36;
}

/* --------------------------------------- Off canvas css ends here ---------------------------- */

.threshold-component {
    width: 100%;
}

.threshold-card {
    width: 100%;
}

.threshold-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 0px;
}

.threshold-header .title {
    font-size: 14px;
    font-weight: 300;
}

/* Switch */
.threshold-header .switch {
    position: relative;
    width: 34px;
    height: 18px;
    margin: 0px;
}

.switch input {
    display: none;
}

.slider {
    position: absolute;
    inset: 0;
    background: #e4edfb;
    border-radius: 20px;
    cursor: pointer;
}

.slider::before {
    content: "";
    position: absolute;
    width: 14px;
    height: 14px;
    top: 2px;
    left: 2px;
    background: #fff;
    border-radius: 50%;
    transition: 0.2s;
}

.switch input:checked+.slider {
    background: #0d1a36;
}

.switch input:checked+.slider::before {
    transform: translateX(16px);
}

.form_content_wrapper {
    background-color: #FFFFFF;
    border-radius: 16px;
    padding: 20px;
}

.form_content_wrapper .form_title {
    font-size: 16px;
    font-weight: 500;
    color: #0D1A36;
    position: relative;
    padding-left: 8px;
    margin: 0px;
}

.form_content_wrapper .form_title::before {
    content: '';
    position: absolute;
    background-color: #8BA2ED;
    border-radius: 50px;
    top: 3px;
    left: 0px;
    width: 3px;
    height: 80%;
}

.form_content_wrapper .form_title.no-line {
    padding-left: 0;
}

.form_content_wrapper .form_title.no-line::before {
    display: none;
}

.form_content_wrapper .form_wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, auto);
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    margin-top: 24px;
}

.field_wrapper {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 6px;
}

form .form-group.required label:not(:empty):not(.form-check-label)::after {
    content: ' *';
    color: #ff0000;
}

/* ── DISABLED FIELD WRAPPER ── */
.field_wrapper.field_disabled input,
.field_wrapper.field_disabled textarea,
.field_wrapper.field_disabled select {
    background-color: #EEEFF0;
    cursor: not-allowed;
    border: 1px solid #EEEFF0;
    pointer-events: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    color: #777777;
    box-shadow: none;
    outline: none;
    -webkit-box-shadow: none;
}

/* ── AUTOFILL (Chrome/Safari inject blue) ── */
.field_wrapper.field_disabled input:-webkit-autofill,
.field_wrapper.field_disabled input:-webkit-autofill:hover,
.field_wrapper.field_disabled input:-webkit-autofill:focus,
.field_wrapper.field_disabled input:-webkit-autofill:active,
.field_wrapper.field_disabled textarea:-webkit-autofill,
.field_wrapper.field_disabled select:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px #EEEFF0 inset !important;
    box-shadow: 0 0 0px 1000px #EEEFF0 inset !important;
    -webkit-text-fill-color: #999 !important;
    caret-color: transparent !important;
}

/* ── SELECTED TEXT HIGHLIGHT ── */
.field_wrapper.field_disabled input::selection,
.field_wrapper.field_disabled textarea::selection,
.field_wrapper.field_disabled select::selection {
    background-color: #EEEFF0 !important;
    color: #999 !important;
}

.field_wrapper.field_disabled input::-moz-selection,
.field_wrapper.field_disabled textarea::-moz-selection {
    background: #EEEFF0 !important;
    color: #999 !important;
}

.field_wrapper.field_disabled label {    
    color: #C1C1C1 !important;
}
.field_wrapper label {
    font-size: 13px;
    font-weight: 400;
    color: #374151;
    margin: 0px;
}

.field_wrapper .view_label {
    font-size: 14px;
    line-height: 1.5;
    font-weight: 300;
    color: #777777;
}

.field_wrapper .view_value {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 400;
    color: #0D1A36;
}

.field_wrapper input,
.field_wrapper select,
.field_wrapper textarea {
    width: 100%;
    font-size: 14px;
    font-weight: 400;
    background-color: #F9FAFF;
    color: #0D1A36;
    padding: 11px 16px;
    border-radius: 50px;
    height: unset;
    text-align: left;
    border: 1px solid transparent;
}

.field_wrapper input::placeholder,
.field_wrapper select::placeholder,
.field_wrapper textarea::placeholder {
    color: #777777;
}

.field_wrapper input:focus {
    border-color: #4A6CF7;
    box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.2);
}

.field_wrapper input:-webkit-autofill,
.field_wrapper input:-webkit-autofill:hover,
.field_wrapper input:-webkit-autofill:focus,
.field_wrapper input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px #F9FAFF inset !important;
    box-shadow: 0 0 0 1000px #F9FAFF inset !important;
    -webkit-text-fill-color: #777777 !important;
}


.field_wrapper textarea {
    border-radius: 16px;
}

.field_wrapper select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 30px;
    background-image: url('data:image/svg+xml;utf8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 9L12 15L18 9" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke="currentColor"/></svg>');
}

.field_wrapper input,
.field_wrapper select:focus-visible {
    outline: none;
}

.field_wrapper .tag_dropdown {
    position: relative;
    width: 100%;
}

.field_wrapper .tag_input {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    padding: 8px 36px 8px 8px;
    background: #F9FAFF;
    border-radius: 50px;
    cursor: pointer;
    min-height: 42px;
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 30px;
    background-image: url('data:image/svg+xml;utf8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 9L12 15L18 9" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke="currentColor"/></svg>');
}

.field_wrapper .tag_list {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin: 0px;
}

.field_wrapper .tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    background: #FFFFFF;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 400;
    border: 1px solid #CBD1E5;
}

.field_wrapper .tag_close {
    cursor: pointer;
    font-size: 14px;
}

.field_wrapper .tag_menu {
    position: absolute;
    top: 120%;
    right: 0px;
    width: 100%;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
    display: none;
    z-index: 10;
    max-height: 200px;
    overflow-y: auto;
}

.field_wrapper .tag_dropdown.open .tag_menu {
    display: block;
}

.field_wrapper .tag_option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    cursor: pointer;
    margin: 0px;
    border-bottom: 1px solid #F4F7FE;
    color: #777777;
}

.field_wrapper .tag_option:hover {
    background: #F9FAFF;
    transition: all 0.2s ease;
}

.field_wrapper .tag_option input {
    width: 16px;
    height: 16px;
}

.field_wrapper .tag_dropdown.open .add_newtag_btn_wrapper {
    display: block;
}

ul.tag_menu li.tag_item {
    padding: 10px 16px;
    border-bottom: 1px solid #F4F7FE;
    font-size: 13px;
    font-weight: 400;
    color: #777777;
    cursor: pointer;
}

ul.tag_menu li.tag_item:hover {
    background: #F9FAFF;
    transition: all 0.2s ease;
}

.material_action_dropdown {
    width: 42px;
    height: 42px;
    background-color: #FFFFFF;
    border: 1px solid #0E1020;
    border-radius: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.field_wrapper .label svg {
    cursor: pointer;
}

.material_action_dropdown .field_wrapper {
    width: auto;
    gap: 0px;
}

.field_wrapper ul.tag_menu {
    min-width: 220px;
    max-height: fit-content;
    overflow: hidden;
}

.input_password_wrapper {
    position: relative;
    width: 100%;
}

.input_password_wrapper svg {
    width: auto;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translate(-50%, -50%);
    cursor: pointer;
}

.upload-label {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #F9FAFF;
    border-radius: 50px;
    padding: 10px 18px;
    cursor: pointer;
    border: none;
}

.upload-label span {
    font-size: 14px;
    font-weight: 300;
    color: #777777;
}

.upload_note {
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
    color: #777777;
}

.file-list {
    display: flex;
    gap: 16px;
    margin-top: 18px;
    flex-wrap: wrap;
}

.file-card {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #F4F7FE;
    border-radius: 16px;
    padding: 10px 14px;
    min-width: 360px;
}

.file-info {
    flex: 1;
}

.file-name {
    font-size: 14px;
    margin: 0px;
}

.file-size {
    font-size: 12px;
    color: #888;
    margin: 0px;
}

.remove-btn {
    cursor: pointer;
}

.add_row_btn {
    font-size: 12px;
    font-weight: 400;
    color: #0E1020;
    margin: auto;
    margin-top: 24px;
}

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

/* Selected box */
.select-box {
    background: #F9FAFF;
    border: none;
    padding: 11px 16px;
    cursor: pointer;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 400;
    color: #0D1A36;
    position: relative;
}

.select-box::after {
    content: "\F286";
    font-family: "bootstrap-icons";
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%) rotate(180deg);
    font-size: 20px;
    transition: transform 0.25s ease;
}

/* Rotate arrow when open */
.select-wrapper.active .select-box::after {
    transform: translateY(-50%);
}

.select-box.remove-arrow::after {
    content: unset;
}

/* Dropdown */
.select_search_dropdown {
    position: absolute;
    left: 0;
    width: 100%;
    background: #fff;
    border: none;
    border-radius: 10px;
    display: none;
    z-index: 1;
    top: calc(100% + 10px);
    border: 1px solid #F4F7FE;
}

.select_search_dropdown .options_box {
    max-height: 220px;
    overflow-y: auto;
}

.select_search_dropdown button {
    font-size: 12px;
    font-weight: 400;
    color: #0E1020;
    padding: 12px 0px;
}

.select-wrapper.active .select_search_dropdown {
    display: block;
    position: absolute;
}

/* Search input */
.search-box {
    width: 100%;
    padding: 8px;
    border: none;
    outline: none;
    border-top-left-radius: 10px !important;
    border-top-right-radius: 10px !important;
    border-bottom-left-radius: 0px !important;
    border-bottom-right-radius: 0px !important;
}

.search-box-wrapper {
    position: relative;
}

/* Options */
.option {
    padding: 10px;
    cursor: pointer;
    border-bottom: 1px solid #F4F7FE;
}

.option:hover {
    background: #f1f1f1;
}

.accordion-button {
    position: relative;
}

.accordion-button::after {
    content: "\F286";
    font-family: "bootstrap-icons";
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%) rotate(0deg);
    font-size: 20px;
    transition: transform 0.3s ease, opacity 0.2s ease;
}

/* Rotate arrow when open */
.accordion-button.collapsed::after {
    transform: translateY(-50%) rotate(180deg);
}

.double_grid_form_wrapper {
    grid-template-columns: repeat(2, 1fr) !important;
    grid-template-rows: repeat(1, 1fr) !important;
    grid-row-gap: 30px !important;
}

.single_grid_row_wrapper {
    grid-template-columns: repeat(2, 1fr) !important;
    grid-template-rows: repeat(1, 1fr) !important;
}

.stock_active_para {
    position: relative;
    font-size: 14px;
    font-weight: 400;
    padding-left: 20px;
    margin: 0px;
}

.stock_active_para::before {
    content: '';
    position: absolute;
    left: 0px;
    top: 50%;
    transform: translate(0, -50%);
    width: 8px;
    height: 8px;
    border-radius: 50px;
    transition: all 0.3s ease;
}

/* In Stock - Green */
.stock_active_para.in-stock {
    color: #2AB500;
}

.stock_active_para.in-stock::before {
    background-color: #2AB500;
}

/* Low Stock - Orange */
.stock_active_para.text-warning {
    color: #B88804 !important;
}

.stock_active_para.text-warning::before {
    background-color: #B88804;
}

/* Out of Stock - Red */
.stock_active_para.out-of-stock {
    color: #f44336;
}

.stock_active_para.out-of-stock::before {
    background-color: #f44336;
}

.stock_warning_para {
    position: relative;
    font-size: 14px;
    font-weight: 400;
    color: #B88804 !important;
    padding-left: 20px;
    margin: 0px;
}

.stock_warning_para::before {
    content: '';
    position: absolute;
    left: 0px;
    top: 50%;
    transform: translate(25%, -50%);
    width: 8px;
    height: 8px;
    background-color: #B88804;
    border-radius: 50px;
}

.stock_inactive_para {
    position: relative;
    font-size: 14px;
    font-weight: 400;
    color: #FF2A2A !important;
    padding-left: 20px;
    margin: 0px;
}

.stock_inactive_para::before {
    content: '';
    position: absolute;
    left: 0px;
    top: 50%;
    transform: translate(25%, -50%);
    width: 8px;
    height: 8px;
    background-color: #FF2A2A;
    border-radius: 50px;
}

.info_dt {
    font-size: 14px;
    color: #777777;
    font-weight: 300;
    padding: 8px 0;
}

.info_dd {
    font-weight: 400;
    color: #0D1A36;
    font-size: 14px;
}

.font_14 {
    font-size: 14px;
    font-weight: 400;
}

.add_user_grid {
    grid-template-columns: repeat(2, 1fr) !important;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.form-grid-box {
    border: 1px solid #CBD1E5;
    border-radius: 8px;
    padding: 16px;
}

.para_title {
    margin: 0;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.6;
    color: #0D1A36;
}

.form-grid.form-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.form-grid.form-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.form-grid .col-span-2 {
    grid-column: span 2 / span 2;
}

table.dataTable {
    border-collapse: collapse !important;
}

table.dataTable td,
table.dataTable th {
    border-left: none !important;
    border-right: none !important;
    box-sizing: border-box;
}

.dataTables_scroll {
    overflow-x: auto;
    border-radius: 16px;
}

.dataTables_scrollBody {
    overflow: visible !important;
}

.action-dropdown-toggle {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 1px solid #0E1020;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.action-dropdown-toggle:hover {
    background: #f8f9fa;
}

.action-dropdown-menu {
    border-radius: 12px !important;
    min-width: 180px;
    padding: 0;
    border: none;
    margin: 0;
    overflow: hidden !important;
}

.action-dropdown-menu .dropdown-item {
    padding: 8px 16px;
    min-height: 40px;
    border-bottom: 1px solid #F4F7FE;
    background: #fff;
    margin: 0;
    font-size: 16px;
    font-weight: 400;
    color: #777777;
}

.action-dropdown-menu .dropdown-item:active {
    background: #fff;
}

.action-dropdown-menu li:last-child a {
    border-bottom: none;
}

body:has(.login_card) {
    background: linear-gradient(in oklch 90deg, #ffc2d1, #bee1e6);
    /* background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='hsl(0, 0%25, 20%25)' opacity='0.1' width='20' height='20' viewBox='-5 -5 10 10'%3E%3Ccircle id='dot' r='1' /%3E%3Cuse href='%23dot' x='5' y='5' /%3E%3Cuse href='%23dot' x='-5' y='5' /%3E%3Cuse href='%23dot' x='5' y='-5' /%3E%3Cuse href='%23dot' x='-5' y='-5' /%3E%3C/svg%3E"), hsl(0, 0%, 95%); */
    /* background-size: 10px; */
}

.login_card {
    background: rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow:
        0 8px 32px rgba(0, 0, 0, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.5),
        inset 0 -1px 0 rgba(255, 255, 255, 0.1),
        inset 0 0 10px 5px rgba(255, 255, 255, 0.5);
    position: relative;
    overflow: hidden;
}

.login_card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg,
            transparent,
            rgba(255, 255, 255, 0.8),
            transparent);
}

.login_card::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 100%;
    background: linear-gradient(180deg,
            rgba(255, 255, 255, 0.8),
            transparent,
            rgba(255, 255, 255, 0.3));
}

.login_card label {
    display: flex;
    align-items: center;
    gap: 6px;
}

.login_card input[type="checkbox"] {
    width: 16px;
    height: 16px;
}

.filter_wrapper {
    gap: 10px;
}

.filter_wrapper .filter_para {
    font-size: 13px;
    font-weight: 400;
    color: #0D1A36;
    margin: 0px;
}

.filter_wrapper .field_wrapper {
    width: 20.33%;
}

.filter_wrapper .date_range_wrapper {
    width: 20.33%;
}

.time_para {
    position: relative;
    font-size: 14px;
    font-weight: 300;
    color: #374151;
    padding-left: 8px;
}

.time_para.no-line::before {
    content: unset;
}

.time_para::before {
    content: '';
    position: absolute;
    background-color: #8BA2ED;
    border-radius: 50px;
    top: 1px;
    left: 0px;
    width: 3px;
    height: 80%;
}

.date_para {
    font-size: 16px;
    font-weight: 500;
    color: #0D1A36;
}

.history_wrapper {
    width: 100%;
    background-color: #F8F9FC;
    border-radius: 16px;
    padding: 20px;
    margin-top: 12px;
}

.inc_para {
    font-size: 14px;
    font-weight: 400;
    color: #777777;
}

.count_para {
    font-size: 16px;
    font-weight: 500;
    color: #2AB500;
}

.error_msg {
    font-size: 12px;
    font-weight: 400;
    display: none;
}

.field_wrapper.error .error_msg {
    display: block;
}

.error_danger {
    font-size: 12px;
    font-weight: 400;
}

.status-chip {
    display: flex;
    align-items: center;
    padding: 4px;
    gap: 10px;
}

.status-chip .dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.status-chip p {
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    text-transform: capitalize;
}

.status-chip.paid_partially .dot {
    background-color: #D7F4F8;
}

.status-chip.paid_partially .dot::before {
    background-color: #1BD8E6;
}

.status-chip .dot::before {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    content: "";
    display: block;
}

.status-chip.active .dot {
    background-color: #D6EED6;
}

.status-chip.active p {
    color: #2AB500;
}

.status-chip.active .dot::before {
    background-color: #2AB500;
}

.status-chip.inactive .dot {
    background-color: #F4E7E7;
}

.status-chip.inactive p {
    color: #FF2A2A;
}

.status-chip.inactive .dot::before {
    background-color: #FF2A2A;
}

.status-chip.overdue .dot {
    background-color: #F4E7E7;
}

.status-chip.overdue p {
    color: #FF2A2A;
}

.status-chip.overdue .dot::before {
    background-color: #FF2A2A;
}

.status-chip.pending .dot {
    background-color: #F8E4D7;
}

.status-chip.pending .dot::before {
    background-color: #ED7214;
}

.status-chip.pending p {
    color: #ED7214;
}

.status-chip.draft .dot {
    background-color: #FFF3CC;
}

.status-chip.draft .dot::before {
    background-color: #B88804;
}

.status-chip.draft p {
    color: #B88804;
}

.status-chip.danger .dot {
    background-color: #F4E7E7;
}

.status-chip.danger .dot::before {
    background-color: #FF2A2A;
}

.status-chip.danger p {
    color: #FF2A2A;
}

.status-chip.billed .dot {
    background-color: #D1DAF6;
}

.status-chip.billed .dot::before {
    background-color: #2A71FF;
}

.status-chip.billed p {
    color: #2A71FF;
}

.status-chip.paid_partially .dot {
    background-color: #D7F4F8;
}

.status-chip.paid_partially .dot::before {
    background-color: #1BD8E6;
}

.status-chip.paid_partially p {
    color: #1BD8E6;
}

.square-badge {
    font-size: 14px;
    line-height: 1.5;
    color: #0D1A36;
    padding: 6px;
    border-radius: 4px;
    background-color: #E4EDFB;
}

.rounded-chip {
    background-color: #F4F7FE;
    padding: 2px 4px;
    font-size: 10px;
    line-height: 1.5;
    font-weight: 400;
    color: #777777;
}

.box-border-top {
    border-top: 0.5px solid #CBD1E5;
}

.summary-card {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 24px;
    border-bottom: 1px solid #F4F7FE;
}

.summary-card:last-child {
    border-bottom: none;
}

.summary-balance-card {
    background-color: #E4EDFB;
    border: 1px solid #CBD1E5;
    border-radius: 16px;
}

.summary-balance-card.secondary-bg {
    background-color: #E4EDFB;
    border: 1px solid #E4EDFB;
    border-radius: 0 0 16px 16px;
}

.summary-card-label {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    color: #777777;
    font-weight: 300;
}

.summary-card-value {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    color: #0D1A36;
    font-weight: 500;
}

.create-vendor-bills-section .placeholder,
.vendor-bills-section .placeholder {
    font-size: 14px;
    line-height: 1.5;
    color: #777777;
    font-weight: 300;
}

.create-vendor-bills-section .nav-tabs {
    border-bottom: none;
}

.create-vendor-bills-section .nav-tabs .nav-link {
    cursor: pointer;
    border: none;
}

.create-vendor-bills-section .nav-tabs .nav-link.active {
    border: none;
}

.vendor-bills-section input:disabled {
    background-color: #EEEFF0;
    color: #C1C1C1;
}

.vendor-bills-section .field_wrapper:has(input:disabled) label {
    color: #C1C1C1;
}

.vendor-bills-section table a {
    color: #4A6CF7;
}

.tax_select_wrapper {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.tax_select_dropdown {
    width: fit-content;
    min-width: 400px;
}

.tax_select_dropdown .select-box p {
    width: calc(100% - 32px);
}


.tax_amount {
    white-space: nowrap;
}

.info_text {
    font-weight: 300;
    font-size: 14px;
    line-height: 1.5;
    color: #777;
    margin-bottom: 20px;
}

.cus-form-wrapper {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.cus-form-wrapper label {
    font-weight: 400;
    font-size: 13px;
    line-height: 1.5;
    color: #374151;
    margin-bottom: 0;
}

.cus-form-wrapper input,
.cus-form-wrapper select {
    background: #F9FAFF;
    padding: 10px 12px;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 400;
    color: #0D1A36;
    border: 1px solid #F9FAFF;
    outline: none;
    box-shadow: none;
    border-radius: 50px;
    width: 100%;
}

.cus-form-wrapper input:disabled,
.cus-form-wrapper input.disabled,
.cus-form-wrapper input:disabled:hover,
.cus-form-wrapper input.disabled:hover,
.cus-form-wrapper select:disabled,
.cus-form-wrapper select.disabled,
.cus-form-wrapper select:disabled:hover,
.cus-form-wrapper select.disabled:hover {
    background: #EEEFF0;
    cursor: not-allowed;
    border: 1px solid #EEEFF0;
    pointer-events: auto;
}


.cus-form-wrapper input:hover,
.cus-form-wrapper input:focus,
.cus-form-wrapper input:active {
    background: #F9FAFF;
    border-color: #F9FAFF;
    outline: none;
    box-shadow: none;
}

.input-group-field {
    display: flex;
    align-items: stretch;
    width: 100%;
}

.input-group-field input,
.input-group-field select {
    border-radius: 50px 0 0 50px;
    border-right: 0;
}

.cus-form-wrapper select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 30px;
    background-image: url('data:image/svg+xml;utf8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 9L12 15L18 9" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke="currentColor"/></svg>');
}

.input-group-label {
    display: flex;
    align-items: center;
    white-space: nowrap;
    padding: 0 16px;
    background: #FFFFFF;
    border: 1px solid #CBD1E5;
    border-radius: 0 50px 50px 0;
    color: #0D1A36;
    font-size: 14px;
    font-weight: 500;
}

.total_row {
    padding: 18px 24px;
    background-color: #E4EDFB;
    border-top: 1px solid #CBD1E5;
    border-bottom-left-radius: 16px;
    border-bottom-right-radius: 16px;
}

.dropright button {
    background-color: #FFFFFF !important;
    border-radius: 999px !important;
    border: 1px solid #0E1020;
    margin: 0 10px;
    padding: 7px !important;
    cursor: pointer;
}

.drp-buttons {
    display: none;
}


.multi_select_wrapper {
    position: relative;
    width: 100%;
}

.multi_select_box {
    min-height: 48px;
    border: 1px solid #F4F7FE;
    border-radius: 50px;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    cursor: pointer;
    background: #F9FAFF;
}

.multi_select_box svg {
    width: fit-content;
}

.selected_items {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
}

.selected_items .placeholder {
    color: #98A2B3;
    font-size: 14px;
}

.multi_select_dropdown {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    width: 100%;
    background: #fff;
    border-radius: 12px;
    display: none;
    z-index: 50;
    max-height: 400px;
    overflow-y: auto;
}

.multi_select_dropdown .input_password_wrapper {
    padding: 12px;
    position: sticky;
    top: 0;
    background-color: #fff;
}

.multi_select_dropdown .options_box {
    padding: 12px;
}

.multi_select_wrapper.active .multi_select_dropdown {
    display: block;
}

.multi_option {
    padding: 12px 14px;
    cursor: pointer;
    border-radius: 12px;
}

.multi_option:hover {
    background: #F9FAFB;
}

.multi_tag {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #FFFFFF;
    color: #0D1A36;
    padding: 8px 12px;
    border-radius: 20px;
    font-size: 13px;
    border: 1px solid #CBD1E5;
}

.remove_tag {
    cursor: pointer;
    font-weight: 600;
}

.multi_option.selected {
    background: #EEF4FF;
    color: #1D4ED8;
}

.multi_option.selected p {
    color: #1D4ED8;
}

.payment-details-card {
    background-color: #F4F7FE;
    border: 1px solid #CBD1E5;
    padding: 16px;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 250px;
}

.payment-details-card h2 {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    color: #0D1A36;
    font-weight: 300;
}

.payment-details-card p {
    margin: 0;
    font-size: 20px;
    line-height: 1.6;
    color: #4A6CF7;
    font-weight: 500;
}

.tag_column_wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    align-items: center;
}

.field_quantity {
    flex-direction: row;
    align-items: center;
    background-color: #f9faff;
    border-radius: 50px;
    max-width: 250px;
    padding: 5px 16px;
}

.search_icon {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translate(-50%, -50%);
    cursor: pointer;
}

.custom-action-dropdown .dropdown-menu {
    width: fit-content;
}

.custom-action-dropdown .dropdown-menu .dropdown-item {
    border-bottom: 1px solid #F4F7FE;
}

.custom-action-dropdown .dropdown-menu .dropdown-item:last-child {
    border-bottom: none;
}

.action-dropdown .dropdown-menu {
    width: fit-content;
}

.action-dropdown .dropdown-menu li {
    border-bottom: 1px solid #F4F7FE;
}

.action-dropdown .dropdown-menu li:last-child {
    border-bottom: none;
}

.stock_canvas .nav-pills {
    background-color: #F4F7FE;
}

.email .nav-pills {
    background-color: #fff;
}

.email .nav-pills a {
    color: #4B5C8B;
}

.required-mge {
    font-size: 12px;
    font-weight: 500;
}

.custom-select-wrapper {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.custom-select-wrapper.no-checkbox .checkmark {
    display: none;
}

.custom-select-container {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.custom-select-container[data-multiple="false"] .option-content-container .checkmark {
    display: none;
}

.custom-select-container * {
    box-sizing: border-box;
}

.custom-select-container[data-disabled="true"] label {
    color: #C1C1C1;
}

.custom-select-container label {
    font-size: 13px;
    font-weight: 400;
    color: #374151;
    margin: 0;
    padding-left: 4px;
}

.custom-select-container[data-disabled="true"] .select-trigger-btn {
    background-color: #EEEFF0;
    border-color: #EEEFF0;
}

.select-trigger-btn {
    width: 100%;
    background-color: #F9FAFF;
    border: 1px solid #F9FAFF;
    border-radius: 50px;
    padding: 2px 40px 2px 16px;
    text-align: left;
    cursor: default;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    min-height: 43px;
}

.select-trigger-btn:focus {
    outline: none;
    border-color: #4A6CF7;
    box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.2);
}

.selected-text-display {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #0D1A36;
    font-size: 14px;
    line-height: 1.6;
    font-weight: 400;
}

.selected-text-display.text-placeholder {
    color: #777777;
}

.custom-select-container[data-disabled="true"] .selected-text-display {
    color: #C1C1C1;
    cursor: not-allowed;
}

.multi-select__close_icon {
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    border: none;
    background: transparent;
    padding: 0;
    z-index: 3;
    width: 16px;
    height: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #869AB8;
    border-radius: 50%;
    color: #fff;
}

.multi-select__close_icon svg {
    width: 14px;
    height: 14px;
}

.chevron-wrapper {
    position: absolute;
    right: 0.5rem;
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    pointer-events: none;
}

.select-chevron-icon {
    height: 1.25rem;
    width: 1.25rem;
    color: #9ca3af;
    transition: transform 0.2s ease;
}

.select-chevron-icon.rotated {
    transform: rotate(180deg);
}

.select-options-menu {
    position: absolute;
    top: calc(100% + 8px);
    z-index: 50;
    width: 100%;
    background-color: #FFFFFF;
    border-radius: 10px;
    max-height: 15rem;
    overflow-y: auto;
    list-style: none;
    border: 1px solid rgba(0, 0, 0, 0.04);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05),
        0 10px 15px -3px rgba(0, 0, 0, 0.08),
        0 0 0 1px rgba(0, 0, 0, 0.02);
    scrollbar-width: thin;
    scrollbar-color: rgba(13, 26, 54, 0.3) transparent;
}

.select-options-menu::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

.select-options-menu::-webkit-scrollbar-track {
    background: transparent;
    border-radius: 10px;
}

.select-options-menu::-webkit-scrollbar-thumb {
    background: rgba(13, 26, 54, 0.2);
    border-radius: 10px;
    transition: background 0.2s ease-in-out;
}

.select-options-menu::-webkit-scrollbar-thumb:hover {
    background: rgba(13, 26, 54, 0.45);
}

.select-options-menu.menu-hidden {
    display: none;
}

.option-group-header {
    color: #0D1A36;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background-color: #F8F9FA;
    cursor: default;
    user-select: none;
    position: relative;
    padding: 0.5rem 1rem;
    border-bottom: 1px solid #F4F7FE;
    display: flex;
    align-items: center;
}

.option-group-header.active {
    background-color: #ECFDF5;
    color: #047857;
}

.option-group-header.inactive {
    background-color: #FEF2F2;
    color: #B91C1C;
}

.option-group-header.active::before,
.option-group-header.inactive::before {
    content: "";
    display: inline-block;
    width: 3px;
    height: 20px;
    border-radius: 6px;
    margin-right: 8px;
}
.option-group-header.active::before {
    background: #047857;
}
.option-group-header.inactive::before {
    background: #B91C1C;
}

.option-item {
    color: #777777;
    cursor: pointer;
    user-select: none;
    position: relative;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #F4F7FE;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: background-color 0.15s ease;
}

li.option-item.active::before,
li.option-item.inactive::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
    transition: transform 0.2s ease;
    margin-right: 8px;
}

li.option-item.active::before {
    background-color: #10B981;
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.18);
}

li.option-item.inactive::before {
    background-color: #EF4444;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.18);
}

.option-item[data-disabled="true"] {
    opacity: 0.5;
    cursor: not-allowed;
}

.option-item[data-disabled="true"] .checkmark {
    opacity: 0.5;
    cursor: not-allowed;
}

.option-item[data-disabled="true"]:hover {
    background-color: transparent;
}

.option-item:hover {
    background-color: #F3F4F6;
}

.custom-select-container[data-multiple="false"] .option-item.item-selected {
    background-color: #F3F4F6;
}

.option-item:last-child {
    border-bottom: none;
}

.option-content-container {
    flex: 1;
    min-width: 0;
    pointer-events: none;
}

.option-content-container .checkmark {
    width: 18px;
    height: 18px;
    border-radius: 4px;
    border: 1px solid #CBD1E5;
    background: #F4F7FE;
    position: relative;
    transition: all 0.2s ease;
    display: inline-block;
    flex-shrink: 0;
    align-self: flex-start;
}

.option-item[data-selected="true"] {
    background-color: #F1F5F9;
    color: #0F172A;
    font-weight: 600;
}

.option-item[data-selected="true"] .option-content-container .checkmark {
    background: #0D1A36;
    border-color: #0D1A36;
}

.option-item[data-selected="true"] .checkmark::after {
    content: "✓";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -55%);
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 700;
    display: block;
    line-height: 1;
}

.fallback-label {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.875rem;
    color: #374151;
}

.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.select-options-menu .select-search-box {
    position: relative;
}

.select-options-menu .select-search-icon {
    position: absolute;
    width: 16px;
    height: 16px;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #9CA3AF;
    pointer-events: none;
}

.select-options-menu .select-clear-icon {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    display: none;
    cursor: pointer;
    width: 16px;
    height: 16px;
    color: #9ca3af;
    transition: color 0.2s ease;
}

.select-options-menu .select-clear-icon:hover {
    color: #4b5563;
}

.select-options-menu .select-search-box .select-search-input {
    padding-left: 40px;
}

.select-options-menu .select-search-wrapper {
    background: #FFFFFF;
    position: sticky;
    top: 0;
    z-index: 2;
}

.select-options-menu .select-search-input {
    width: 100%;
    height: 40px;
    border: 1px solid transparent;
    border-radius: 10px 10px 0 0;
    background: #F9FAFF;
    padding: 0 14px;
    font-size: 14px;
    color: #0D1A36;
    outline: none;
    transition: all 0.2s ease;
}

.select-options-menu .select-search-input::placeholder {
    color: #777777;
}

.select-options-menu .select-search-input:focus {
    border-color: #4A6CF7;
    background: #FFFFFF;
    box-shadow: 0 0 0 2px rgba(74, 108, 247, 0.12);
}

.no-results-item {
    display: none;
    padding: 12px 16px;
    text-align: center;
    color: #777777;
    font-size: 14px;
    cursor: default;
    border-bottom: none;
}

.popup-delete-icon {
    width: 100px;
    height: auto;
    margin: 0 auto;
}

.selected-text-display {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.c-select__display--single {
    display: inline-flex;
    align-items: center;
}

.c-select__display.status-active::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #10B981;
    box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.2);
    margin-right: 6px;
    flex-shrink: 0;
}

.c-select__display.status-inactive::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #EF4444;
    box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.2);
    margin-right: 6px;
    flex-shrink: 0;
}

.select-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 8px 12px 8px 12px;
    background-color: #E4EDFB;
    border: 0.5px solid #CBD1E5;
    border-radius: 50px;
    white-space: nowrap;
}

.select-chip.active,
.select-chip.inactive {
    display: inline-flex;
    align-items: center;
}

.select-chip.active::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #10B981;
    box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.2);
    margin-right: 6px;
    flex-shrink: 0;
}

.select-chip.inactive::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #EF4444;
    box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.2);
    margin-right: 6px;
    flex-shrink: 0;
}

.select-chip span {
    font-size: 12px;
    line-height: 1.5;
    color: #0D1A36;
    font-weight: 400;
}

.chip-remove-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    cursor: pointer;
    line-height: 1;
    flex-shrink: 0;
}

.input-end-icon {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    pointer-events: none;
}

.input-end-icon img,
.input-end-icon svg {
    width: 20px;
    height: 20px;
}

.clear-input-btn {
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    border: none;
    background: transparent;
    padding: 0;
    z-index: 3;
}

.form_subtitle {
    font-size: 16px;
    font-weight: 500;
    color: #0D1A36;
}

.font_size_14 {
    font-size: 14px;
}

.input-icon {
    position: relative;
}

.input-icon-addon svg {
    position: absolute;
    width: auto;
    right: 4%;
    top: 14%;
}

.barcode_preview_card,
.barcode_box {
    border: 1px solid #E5E5E5;
    border-radius: 16px;
    gap: 10px;
}

.barcode_box {
    min-width: 190px;
    min-height: 110px;
}

.barcode_print_modal {
    border-radius: 16px;
    padding: 12px;
}

.barcode_progress_text {
    font-size: 12px;
    font-weight: 400;
    color: #777;
}

.barcode_progress {
    width: 100%;
    height: 6px;
    background: #E5E5E5;
    border-radius: 10px;
    overflow: hidden;
}

.barcode_progress_fill {
    width: 10%;
    height: 100%;
    background: #4A6CF7;
    border-radius: 10px;
    transition: width .2s linear;
}

.progress_barcode {
    min-height: auto !important;
    min-width: 620px !important;
}

.field_wrapper .tag_close_barcode {
    font-size: 20px;
    cursor: pointer;
}

.barcode_option span {
    cursor: pointer;
}

/* ------------------- Tab css starts here ----------------------------------- */

.create_wizard_wrapper {
    width: 100%;
    margin-top: 20px;
}

.create_wizard_wrapper .nav-pills {
    background: white;
    padding: 16px 20px;
    border-radius: 50px;
    align-items: center;
}

.create_wizard_wrapper .nav-pills .nav-link {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 400;
    padding: 8px 16px;
    transition: all 0.2s ease;
}

.create_wizard_wrapper .nav-pills .nav-link .img_wrapper {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid #CBD1E5;
    background-color: transparent;
    transition: all 0.2s ease;
}

.create_wizard_wrapper .nav-pills .nav-link img {
    width: 100%;
    height: 100%;
    padding: 7px;
    filter: invert(60%) sepia(0%) saturate(0%) brightness(90%) contrast(85%);
    transition: filter 0.2s ease;
}

.create_wizard_wrapper .nav-pills .nav-link.active {
    color: #4A6CF7;
    background-color: #FFFFFF;
}

.create_wizard_wrapper .nav-pills .nav-link.active .img_wrapper {
    border: 1px solid #4A6CF7;
    background-color: #F4F7FE;
}

.create_wizard_wrapper .nav-pills .nav-link.completed {
    color: #4A6CF7;
    opacity: .6;
}

.create_wizard_wrapper .nav-pills .nav-link.completed .img_wrapper {
    background-color: #F4F7FE;
    border: 1px solid #4A6CF7;
}

.create_wizard_wrapper .nav-pills .nav-link.active img {
    filter: invert(34%) sepia(92%) saturate(1800%) hue-rotate(205deg) brightness(96%) contrast(102%);
}

.supplier_details .nav-pills {
    width: fit-content;
    gap: 8px;
    padding: 8px 10px;
}

.supplier_details .nav-link.active {
    background-color: #8BA2ED !important;
    border-radius: 999px !important;
    border: none !important;
    color: #FFFFFF !important;
}

.order_type_wrapper {
    gap: 30px;
}

.order_type_wrapper .existing_product,
.order_type_wrapper .custom_product {
    background-color: #F4F7FE;
    border: 2px dashed #CBD1E5;
    border-radius: 22px;
    padding: 24px;
    cursor: pointer;
}

/* ------------------- Tab css ends here ----------------------------------- */

.add-select-btn-wrapper {
    position: sticky;
    bottom: 0;
    background: #fff;
    /* border-top: 1px solid rgba(14, 16, 32, 0.06); */
    /* box-shadow: 0 -4px 12px rgba(14, 16, 32, 0.03); */
    border-top: 1px solid #F4F7FE;
}

.add-select-btn {
    padding: 12px 16px;
    font-size: 12px;
    line-height: 1.6;
    font-weight: 400;
    color: #0E1020;
}

.add-select-btn:hover {
    text-decoration: none;
    color: #0E1020;
}

.modal-body-title {
    margin: 0;
    font-size: 20px;
    line-height: 1.6;
    font-weight: 500;
    color: #0D1A36;
    text-align: center;
}

.modal-body-desc {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    font-weight: 300;
    color: #777777;
}

.activity-card-wrapper {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.activity-card {
    display: flex;
    gap: 24px;
    position: relative;
    min-height: 80px;
}

.activity-card:before {
    content: "";
    position: absolute;
    left: 11px;
    width: 2px;
    height: calc(100% - 30px);
    background: #8BA2ED;
    top: 30px;
}

.activity-card .icon {
    width: 24px;
    height: 24px;
}

.activity-card .icon svg {
    width: 100%;
    height: 100%;
}

.activity-card .content {
    width: calc(100% - 48px);
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.activity-card .activity-date {
    margin: 0;
    font-weight: 300;
    font-size: 14px;
    line-height: 1.5;
    color: #777777;
}

.activity-card .activity-desc {
    margin: 0;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.5;
    color: #0D1A36;
    white-space: normal;
    word-break: normal;
    overflow-wrap: break-word;
}

.activity-card .activity-desc span {
    font-weight: 500;
}

.radio-input-wrapper label {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 400;
    color: #0D1A36;
}

.w-fit {
    width: fit-content;
}

.dropdown_button_wrapper {
    z-index: 1;
    cursor: pointer;
}

.dropdown_wrapper {
    z-index: 1;
}

.pointer-events-none {
    pointer-events: none;
}

.pointer-events-auto {
    pointer-events: auto;
}

/* form .select2.select2-container{
    display: none;
} */
.ai_generate_button {
    cursor: pointer;
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    transform-origin: center;
    padding: 10px 16px;
    background-color: transparent;
    border: none;
    border-radius: 50px;
    transition: transform 0.3s ease-in-out;
}

.ai_generate_button::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    background-color: #000000;
    border-radius: 50px;
    transition: all 0.3s ease-in-out;
    z-index: 2;
}

.ai_generate_button .dots_border {
    --size_border: calc(100% + 10px);
    overflow: hidden;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: var(--size_border);
    height: var(--size_border);
    background-color: transparent;
    border-radius: 50px;
    z-index: 1;
}

.ai_generate_button .dots_border::before {
    content: "";
    position: absolute;
    transform-origin: center;
    width: 100%;
    height: 3rem;
    background: radial-gradient(circle, rgba(63, 94, 251, 1) 0%, rgba(252, 70, 107, 1) 100%);
    mask: linear-gradient(transparent 0%, #ffffff 33%, #ffffff 66%, transparent 100%);
    animation: rotate 2s ease infinite;
}

@keyframes rotate {
    to {
        transform: rotate(360deg);
    }
}

.ai_generate_button .text_button {
    position: relative;
    z-index: 10;
    background-clip: text;
    font-size: 16px;
    color: transparent;
    background-image: radial-gradient(circle, rgba(238, 174, 202, 1) 0%, rgba(148, 187, 233, 1) 100%);
}

.restore-archive-status-wrapper {
    min-height: 60px;
    padding: 16px;
    border-radius: 12px;
    background-color: #F4F7FE;
}

.modal_para_note_bold {
    color: #0D1A36;
    font-weight: 500;
}

.common-badge-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.common-badge-list .badge-item {
    padding: 8px 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    background-color: #E4EDFB;
    border: 1px solid #CBD1E5;
    border-radius: 50px;
}

.common-badge-list .badge-item span {
    font-size: 12px;
    line-height: 1.5;
    color: #0D1A36;
    font-weight: 400;
    white-space: nowrap;
}

.note {
    margin: 0;
    font-weight: 400;
    font-size: 13px;
    line-height: 1.5;
    color: #777777;
}

.arrow-icon {
    transition: transform 0.3s ease;
}

.arrow-icon[aria-expanded="true"] {
    transform: rotate(0deg);
}

.arrow-icon[aria-expanded="false"] {
    transform: rotate(180deg);
}
/* --------------------------------------- Attribute page css ends here ---------------------------- */

@media (max-width: 1024px) {
    .main_wrapper {
        padding: 12px;
    }

    .main_content {
        width: calc(100% - 200px);
    }

    .admin_sidebar {
        max-width: 200px;
    }

    .sidebar_header {
        padding-top: 16px;
    }

    .sidebar_nav {
        padding: 10px;
    }

    .sidebar_menu_btn {
        padding: 6px 8px;
        gap: 10px;
    }

    .sidebar_menu_icon {
        width: 18px;
    }

    .sidebar_submenu {
        min-width: 150px;
    }

    .sidebar_submenu_item {
        padding: 6px 8px;
        gap: 8px;
    }
}

@media (max-width: 992px) {
    .form-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .form-grid.form-grid-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 576px) {
    .form-grid {
        grid-template-columns: 1fr;
    }

    .form-grid.form-grid-4,
    .form-grid.form-grid-2 {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
}