/* custome css Start  */

/* new root  */

:root {
  --Black: #000000;
  --White: #ffffff;
  --BlackOlive: #3b3c3c;
  --AliceBlue: #f1f4ff;
  --NewGreen: #50ac81;
  --NewRed: #fb6f7d;
  --EvaGreen: #39f6a3;
  --Red: #d92d20;
  --Green: #039855;
  --LinkColor: #08a3e9;
  --ThemeColor: #2563eb;
  --ThemeColorTwo: #111827;
	--ThemeFont:  "Poppins", sans-serif;
	--ThemeFontTwo:  "Poppins", sans-serif;
  --CardShadow: 0px 4px 11px rgba(217, 216, 216, 0.6);
  --textColorNew: #9ca3af;
}


/* Global Brand Logo Style */
.brand-logo-circle {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    border: 2px solid #e9ecef;
    overflow: hidden;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.brand-logo-circle img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* new  root  */ 
:root {
--borderColor: #e4e7ec;
--titleClor: #1d2939;
--textColor: #344054;
--textSecondary: #667085;
}

/* z-index classes start */
.z_n1 {
  z-index: -1;
}
.z_0 {
  z-index: 0;
}
.z_1 {
  z-index: 1;
}
.z_2 {
  z-index: 2;
}
.z_3 {
  z-index: 3;
}
.z_4 {
  z-index: 4;
}
.z_max {
  z-index: 1040;
}
/* z-index classes End */

/* font weight class start */
.fw-bold {
  font-weight: bold;
}
.fw-semibold {
  font-weight: 700;
}
.fw-medium {
  font-weight: 500;
}
.fw-normal {
  font-weight: 400;
}
/* font weight class End */

/* cursor pointer  */
.cursor_pointer {
  cursor: pointer;
}
/* cursor pointer  */

/* color css start  */
.bg_AliceBlue {
  background: var(--AliceBlue) !important;
}
.text_AliceBlue {
  color: var(--AliceBlue) !important;
}
.text_danger {
  color: var(--Red) !important;
}
.text_success {
  color: var(--Green) !important;
}

/* no shadow  */
.shadow_0 {
  box-shadow: none !important;
}
/* line clamp css start  */



.lc_1 {
  display: -webkit-box !important;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.lc_2 {
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.lc_3 {
  display: -webkit-box !important;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* line clamp css End */

/* nav slider css start */
.sidebar-wrapper .sidebar-menu > .nav-item.menu-open > .nav-link, 
.sidebar-wrapper .sidebar-menu > .nav-item:hover > .nav-link, 
.sidebar-wrapper .sidebar-menu > .nav-item > .nav-link:focus,
.sidebar-wrapper .sidebar-menu > .nav-item > .nav-link.active:not(:hover),
.sidebar-wrapper .sidebar-menu > .nav-item.menu-open > .nav.nav-treeview > .nav-item:hover, 
.sidebar-wrapper .sidebar-menu > .nav-item.menu-open > .nav.nav-treeview > .nav-item:hover > .nav-link, 
.sidebar-wrapper .sidebar-menu > .nav-item.menu-open > .nav.nav-treeview > .nav-item:hover > .nav-link:focus {
    color: var(--ThemeColor); background: #ecf3ff;border-radius: 10px;
}
.sidebar-wrapper a, .sidebar-wrapper .nav-treeview > .nav-item > a.nav-link {color: var(--BlackOlive);}

.sidebar-wrapper .nav-treeview > .nav-item > .nav-link.active, .sidebar-wrapper .nav-treeview > .nav-item > .nav-link.active:hover, .sidebar-wrapper .nav-treeview > .nav-item > .nav-link.active:focus {
    color: var(--ThemeColor); background: #ecf3ff;
}

/* nav slider css end */

/* css for logo (backend) */
.sidebar-brand .brand-link .brand-image {
    width: 100px;
    height: 55px;
}
/* css for logo (backend) */


.insurance-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  padding: 0;
  flex: 0 0 auto;              /* the header is a flex row — never let the circle squash */
  border: 1px solid var(--ThemeColor);
  border-radius: 50%;
  background: transparent;
  color: var(--ThemeColor);
  font-size: 15px;
  line-height: 1;
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease;
}

.insurance-icon-btn:hover,
.insurance-icon-btn:focus-visible {
  background: var(--ThemeColor);
  color: #fff;
}

/* Icon-only, so the focus ring is the only thing telling a keyboard user where they are. */
.insurance-icon-btn:focus-visible {
  outline: 2px solid var(--ThemeColor);
  outline-offset: 2px;
}

.phone-code-option {
  display: flex;
  align-items: baseline;
  gap: .4rem;
}

.phone-code-value {
  font-weight: 600;
  min-width: 3.2rem;
  flex: 0 0 auto;
}

.phone-code-country {
  color: var(--textColorNew);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* custom primary button start */
.btn_primary {
  background: var(--ThemeColor) !important;
  border: 1px solid var(--ThemeColor);
  color:white !important;
}

.btn_primary:hover {
  background: var(--ThemeColor) !important;
  border: 1px solid var(--ThemeColor) !important;
}

.btn_primary:disabled {
  background: var(--ThemeColor);
  border: 1px var(--ThemeColor);
}

.btn_outline_primary{
  border: 1px solid var(--ThemeColor) !important;
  color:var(--ThemeColor) !important
}

.btn_outline_primary:hover{
  background-color: var(--ThemeColor);
  color:white !important;
}

.btn_outline_secodary{
  border: 1px solid var(--BlackOlive) !important;
  color:var(--BlackOlive) !important
}
.btn_outline_secodary:hover{
  background-color: var(--ThemeColor) !important;
  color:white !important;
}
.btn_success{
    background: var(--Green) !important;
    border: 1px solid var(--Green) !important;
}

.text_bg_primary {
  background: var(--ThemeColor);
  border: 1px var(--ThemeColor);
  color: #ffff;
}
.custom_border{
    border:1px solid var(--ThemeColor);
}
.text_primary{
  color: var(--ThemeColor) !important;
}

.bg_primary{
  background-color: var(--ThemeColor) !important;
  color: #fff;
}

.custom_border:hover{
    border:1px solid var(--ThemeColor);
}
/* .custom_link{
    color: var(--EvaGreen);
} */

.card.card_outline {
  border-top: 3px solid var(--ThemeColor);
}

.badge{border-radius: 50px;}
.badge_success {
  color: var(--Green);
  background-color: #ecfdf3;
  border: 1px solid #ecfdf3;
}

.badge_warning {
  color: #b45309;              /* amber */
  background-color: #fffbeb;
  border: 1px solid #fffbeb;
}

.badge_danger {
  color: #b91c1c;              /* red */
  background-color: #fef2f2;
  border: 1px solid #fef2f2;
}

.badge_secondary {
  color: #374151;              /* gray */
  background-color: #f3f4f6;
  border: 1px solid #f3f4f6;
}

.badge_primary {
  color: var(--ThemeColor);
  background-color: #eff6ff;
  border: 1px solid #eff6ff;
}

.badge_info {
  color: #0369a1;              /* blue */
  background-color: #f0f9ff;
  border: 1px solid #f0f9ff;
}

.badge_light {
  color: #0f766e;              /* teal */
  background-color: #f0fdfa;
  border: 1px solid #f0fdfa;
}



.custom_link {
  color: var(--LinkColor);
}

.disabled-link {
    pointer-events: none;
    opacity: 0.5;
}


/* custom primary button end */

.mb-12px {
  margin-bottom: 12px;
}

input.parsley-success, select.parsley-success, textarea.parsley-success {
  color: var(--bs-body-color) !important;
  background-color: var(--bs-body-bg);
  border: var(--bs-border-width) solid var(--bs-border-color);
}

/**
 * Corner Ribbon Component
 */
.corner-ribbon {
    position: absolute;
    top: -3px;
    left: -3px;
    height: 5.5em;
    width: 5.5em;
    padding: 8px;

    .cr-inner {
        position: absolute;
        inset: 0;
        background: var(--Green);
        color: white;
        border-radius: 16px 8px 0 8px;
        clip-path: polygon(0 0, 100% 0, 0 100%);
    }
      
    .cr-text {
        display: block;
        font-weight: bold;
        font-size: .8em;
        line-height: 1.3;
        transform: rotate(-45deg) translateY(.1em) translateX(-1.8em);

        strong {
            display: block;
            font-weight: normal;
            text-transform: uppercase;
        }
    }
}

.ck-editor__editable_inline{
    min-height:480px;
    max-height:480px;
    overflow:auto;
}

.dropzone {
  border: 2px dashed rgba(0, 0, 0, 0.3) !important;
  border-radius: 8px;
}

.dz-progress {
  display: none !important;
}

/* for remove icon */
.dz-remove {
  position: absolute;
  top: -5px;
  right: -5px;
  color: var(--bs-white);
  background: var(--Red);
  border-radius: 50%;
  font-size: 22px !important;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  z-index: 10;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.15);
  transition: all 0.2s ease-in-out;
}

/* .dz-remove:hover {
    background: var(--bs-danger);
    color: #fff;
    transform: scale(1.1);
} */
.dz-preview .dz-image img {
  width: 100% !important;
  height: 100% !important;
}
.dz-preview {
  position: relative;
}

.dz-message{
    width: 100%;
    text-align: center;
}

.dropzone .dz-preview .dz-remove {
  z-index: 999;
  /*cursor: pointer !important;*/
}

.dropzone-cursor-default .dropzone.dz-clickable {
  cursor: default !important;
}

.dz-image a.glightbox img {
  cursor: pointer;
}

.dropzone.dz-clickable .dz-preview .dz-remove, .dropzone.dz-clickable .dz-preview .dz-remove i  {
  cursor: pointer !important;
}

.dz-preview:hover img {
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
}

.dz-details {
  display: none;
}

/* For all browsers (Chrome, Safari, Edge, Firefox) */
.input-number-appearance-none {
  -webkit-appearance: none; /* Chrome, Safari, Edge */
  appearance: none; /* Standard */
  -moz-appearance: textfield; /* Firefox */
}
.input-number-appearance-none::-webkit-inner-spin-button, .input-number-appearance-none::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Spinner css customisation */
#spinner-loader-container { background-color: rgba(0,0,0,0.5); display:inline-block; position: fixed; width: 100%; left: 0; right: 0; bottom: 0; top: 0; z-index: 1057; display: none; }
.spinner-border{ width: 3rem; height: 3rem; color: var(--ThemeColor) !important; }
.spinner-loader { font-size: 20px; width: 10rem; height: 10rem; position: absolute; top: calc(50% - 80px); left: calc(50% - 80px); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
/* Spinner css customisation */

.truncate-one-line {
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.truncate-two-lines {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    max-width: 200px;
}

.navbar_active{
  font-weight: bolder;
}

.brand-image {
  max-height: 40px !important;
  height: auto !important;
  width: auto !important;
}

.ui-w-80 {
    width: 80px !important;
    height: auto;
}

.custom_size{
  font-size: 14px;
}

.custom_padding_right{
  padding-right: 0px;
}

/* select2 css */

.select2-results__options li.select2-results__option {font-size: 14px;}
.select2-container--default .select2-selection--single .select2-selection__arrow{display: none;}
.select2-container--default .select2-selection--single{border-radius: 0.375rem;}
.select2-container .select2-selection--single .select2-selection__rendered, .form-group.client_invoice select.form-control{padding-right: 25px !important;}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.40rem center;
    background-size: 16px 12px;
}

/* Force select2 to take 100% of parent container */

select.custom + .select2-container {
    width: 100% !important;
}

select.custom + .select2-container .select2-selection--single {
    height: calc(3.5rem + 2px) !important;
    display: flex;
    align-items: center;
    padding: 0.375rem 0.75rem;
    border: 1px solid #ced4da;
    border-radius: 0.375rem;
    background-color: #fff;
}

select.custom + .select2-container .select2-selection__arrow {
    right: 8px;
}

select.custom + .select2-container .select2-selection__rendered {
    padding-left: 0 !important;
    line-height: 2.2rem;
    z-index: 999;
    margin-top: 8px;
    flex: 1 1 auto;
    min-width: 0;
}

select + .select2-container .select2-selection--single {
 height: calc(2rem + 6px) !important;
}

.select2-container--default .select2-selection--single{border-color: #dee2e6;}
.select2-container--default .select2-selection--single .select2-selection__arrow b
{
  margin-top: 2px !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 38px !important;
}

.custom_nav_link{
    font-size: larger !important;
}

.custom_nav_link.active{
     font-weight: 700 !important;
}

.ribbon-wrapper {
  position: absolute;
  top: 0.75rem;
  right: -0.75rem;
  overflow: hidden;
  width: 120px;
  height: 120px;
  pointer-events: none;
}

.ribbon {
  font-size: 0.75rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
  line-height: 1.5rem;
  transform: rotate(45deg);
  position: relative;
  padding: 0.25rem 0;
  width: 160px;
  display: block;
  top: 15px;
  right: -45px;
  box-shadow: 0 3px 10px rgba(0,0,0,0.2);
}

.ribbon.bg-success { background-color: #198754; }
.ribbon.bg-danger { background-color: #dc3545; }
.ribbon.bg-warning { background-color: #ffc107; color: #000; }
.ribbon.bg-info { background-color: #0dcaf0; }
.ribbon.bg-primary { background-color: #0d6efd; }
.ribbon.bg-secondary { background-color: #6c757d; }




/* manish css  Start */
/* color css Start  */
.titleColor{ color: var(--titleClor) !important;}
.textColor{ color: var(--textColor) !important;}
.textSecondary{ color: var(--textSecondary) !important;}

/* color css End  */
/* css for card Start  */
.card { background-color: var(--White) !important; border: 1px solid var(--borderColor); box-shadow: 0 .1875rem .5rem 0 rgba(34, 48, 62, .1); border-radius: 6px !important;}
/* css for card End  */

/* css for left sidebar start  */
.app-sidebar { background-color: var(--White) !important; border-right: 1px solid var(--borderColor); box-shadow: none;}
.app-header { background-color: var(--White) !important; border-bottom: 1px solid var(--borderColor); box-shadow: none;}
/* css for left sidebar End  */

/* dashboard css Start */
.bg-body-tertiary{background: linear-gradient(135deg, #fbfcff 0%, #f9fbff 100%) !important;}
.dashboard_box.small-box { background-color: var(--White) !important; border-color: var(--borderColor); box-shadow: none; border-radius: 16px !important;}
.dashboard_box.small-box .inner{ background-color: var(--White) !important; border: 0px solid var(--borderColor); box-shadow: 0 .1875rem .5rem 0 rgba(34, 48, 62, .1); border-radius: 6px !important; padding: 25px !important;}
.dashboard_box.small-box .inner .titleColor {font-size: 3rem;}
/* dashboard css End */

.page-link.active, .active>.page-link{background-color: var(--ThemeColor); color: var(--White); border-color: var(--ThemeColor);}

/* quote_card css start  */ 
.quote_card {border-radius: 1.2rem;box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);overflow: hidden;transition: transform 0.3s ease;}
.quote_header {background: linear-gradient(135deg, #0d6efd, #6c63ff);;font-weight: 600;clip-path: polygon(0 0, 100% 0, 100% 80%, 0 100%);}
.quote_body {padding: 15px;position: relative;}
.qb_info {display: flex;justify-content: space-between;align-items: center;margin-bottom: 12px;}
.quote_body .qb_info:last-child{margin-bottom: 0;}
.qb_label {font-size: 0.75rem;color: var(--textSecondary);font-weight: 500;text-transform: uppercase;}
.qb_value {font-weight: 600;color: var(--titleClor);display: flex;align-items: center;gap: 0.4rem;}
.quote_footer {display: flex;justify-content: space-between;align-items: center;padding: 15px;border-top: 1px solid #f1f1f1;}
/* quote_card css End  */ 

.custom_badge_icon{
    height: fit-content;
}

.select2-container--default .select2-selection--multiple {
    min-height: 43px;
    border-radius: 0.375rem;
    padding: 2px 10px;
    border: 1px solid #dee2e6;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    background-color: transparent;
    transition: border 0.3s;
}

.select2-container--default .select2-selection--multiple:focus {
    border-color: #e9ecef;
    box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #e9ecef;
    border: none;
    color: #333;
    border-radius: 8px;
    font-size: 0.875rem;
    margin: 4px 4px 0 0;
    padding: 0px 7px !important;
}

.select2-container--default .select2-results__option[aria-selected=true] {
    background-color: #ecf3ff  !important;
    color: #000;
    font-weight: 500;
}

.select2-container--default .select2-results__option.select-all-option {
    font-weight: bold;
    cursor: pointer;
    color: #0d6efd;
}

.select2-container--default .select2-results__option.select-all-option:hover {
    background-color: #d1eaff;
}

/* Bigger, cleaner cards */
.category-card {
    cursor: pointer;
    border: 1px solid #ddd;
    transition: all 0.2s;
    background-color: #fff;
    padding: 18px;
    font-size: 1rem;
}

.category-card:hover {
    background-color: #f0f8ff;
    transform: translateY(-2px);
}

.category-card.selected {
    border: 2px solid var(--ThemeColor);
    background-color: #e7f1ff;
}

.category-grid {
    padding-right: 5px; /* prevent scrollbar overlap */
}

.form-floating .btn {
    top: 0;
    right: 0;
    height: 100%;
    z-index: 3;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

#selectedCategoriesText {
    padding-right: 4rem;
    cursor: pointer;
    background-color: #fff;
}

#selectedCategoriesText {
  cursor: pointer;
  background-color: #fff !important;
}
#selectedCategoriesText:focus {
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.preview-image {
    cursor: zoom-in;
}

.card-img-top.preview-image.custom-preview
{
    max-width: 100%;      /* don’t let it overflow card width */
    max-height: 125px;    /* limit height */
    height: auto;         /* keep aspect ratio */
    width: auto;          /* let browser scale naturally */
    object-fit: contain;  /* ensures no distortion, fits inside box */
    border: 1px solid #ccc;
    border-radius: 8px;
    display: block;
    /*margin: 0 auto; */      /* center horizontally */
}


.preview-image {
    cursor: zoom-in;
}

.card-img-top.preview-image.custom-preview
{
    max-width: 100%;      /* don’t let it overflow card width */
    max-height: 35vh;    /* limit height */
    height: auto;         /* keep aspect ratio */
    width: auto;          /* let browser scale naturally */
    object-fit: contain;  /* ensures no distortion, fits inside box */
    /*border: 1px solid #ccc;
    border-radius: 8px;*/
    display: block;
    margin: 0 auto;      
}

.mw-20 {
  min-width: 20% !important;
}

.w-90 {
  width: 90% !important;
}

.bottom-2px {
    bottom: 2px !important;
}

.bottom-3px {
    bottom: 3px !important;
}

.left-10px {
    left: 10px !important;
}

.img_div_fixed{
  position: sticky;
  width: 100%;
  top: -16px;
  z-index: 99; background: #fff; padding: 5px; border-radius:10px; border-top-left-radius:0px ; border-top-right-radius: 0px 
}

/*.img_div_fixed img{ max-width:45vw !important }*/

/*.cust_owl_slider{max-height: 36vh; overflow: hidden;}*/
/*.cust_owl_slider img {height: 300px !important}*/

.owl-carousel {
    position: relative; 
}

.cust_owl_slider .owl-prev, .cust_owl_slider .owl-next 
{
    position: absolute;
    top: calc(50% - 20px); 
    transform: translateY(-50%);
    font-size: 50px !important;
    line-height: 1 !important;
    height: 40px;
    width: 40px;
    display: flex !important;
    justify-content: center;
    align-items: center;
    z-index: 10;
    background-color: #fff !important;
}
.cust_owl_slider .owl-dots{ display:none !important }
.cust_owl_slider .owl-prev:hover, .cust_owl_slider .owl-next:hover{
    /*background-color: transparent !important;*/ color: var(--ThemeColor) !important;
} 
.cust_owl_slider .owl-prev { left: 10px !important; }
.cust_owl_slider .owl-next { right: 10px !important; }
.overflow_200{ max-height: 215px; overflow: auto; }

/* Default cursor for carousel zoomable images */
.plan-container .owl-carousel .preview-image {
  cursor: grab !important;
}

/* While actively dragging */
.plan-container .owl-carousel .preview-image:active {
  cursor: grabbing !important;
}

.img-preview-box {
    position: relative;
    margin: 10px;
    width: 120px;
    height: 120px;
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    border: 1px solid #e0e0e0;
    overflow: hidden;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 8px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.img-preview-box:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 14px rgba(0,0,0,0.15);
}

.custom-preview-image,
.pdf-preview {
    width: 100%;
    height: 100px;
    border-radius: 8px;
    object-fit: cover;
    background: #f5f5f5;
    cursor: pointer;
}

/* PDF specific icon adjustment */
.pdf-preview {
    object-fit: contain;
    padding: 10px;
    background: #fafafa;
}

/* File name below PDF */
.pdf-name {
    font-size: 12px;
    margin-top: 6px;
    width: 100%;
    text-align: center;
}

/* Improved remove button */
.remove-img {
    position: absolute;
    top: 5px;
    right: 5px;
    background: #ff4d4d;
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 22px;
    height: 22px;
    font-size: 16px;
    cursor: pointer;
    line-height: 20px;
    padding: 0;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
    transition: background 0.2s ease;
}

.remove-img:hover {
    background: #d93636;
}


.pdf-name {
    font-size: 12px;
    color: #333;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-top: 4px;
}

 .impersonate-exit-btn {
    transition: all 0.3s ease;
}
.impersonate-exit-btn:hover {
    transform: translateY(-2px);
}
.impersonate-exit-btn i {
    font-size: 1rem;
}

.series-input-container select,
.varient-select,
.price-input,
.total_price_input,
.total_labor_input,
.subcontractor_names {
    min-width: 140px;
}

.select2-container--open + .select_all_zipcode {
    position: relative;
    z-index: 9999; 
}

.select_all_zipcode {
    transition: all 0.3s ease;
}

.select_all_zipcode:not(.d-none) {
    border: 1px solid #e9ecef;
    border-radius: 4px;
    padding: 8px;
    background: #f8f9fa;
    margin-bottom: 8px;
}

.btn-check:checked+.btn:focus-visible, :not(.btn-check)+.btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible{background: var(--ThemeColor) !important;}

/* css 2.0 Start */
body {font-family: "Roboto", sans-serif !important; letter-spacing: 0.2px;}

.title_text {color: #384551;}
.form-check-input:checked{background-color: var(--ThemeColor) !important;border-color: var(--ThemeColor) !important;}
.form-check-input:not(:checked) {background-color: #ededed !important;border-color: #e2e2e2 !important;}
.dataTables_length label {gap: 5px;}


.badge {display: inline-block;padding: .4235em .77em;font-size:  0.75rem;font-weight: 800;line-height: 1;text-align: center;white-space: nowrap;vertical-align: baseline;border-radius: .25rem;margin-right: 2px;}
.badge_primary{background-color: #ecf3ff; color: var(--ThemeColor);}

/* multi_select_cust  */
.select2-selection__choice {background-color: #ecf3ff !important; color: var(--ThemeColor) !important;}

/* Bid Requests page start  */
.only_top_head .dataTables_length, .only_top_head .dataTables_filter {margin-bottom: 0 !important;}
.only_top_head .dataTables_filter label {font-size: 0;}
.only_top_head .dataTables_filter label input {font-size: 14px;}
.project_header {background: linear-gradient(135deg, #0056d2, #007bff);color: #fff;padding: 20px;}
.project_body {padding: 20px;}

/* Bid Requests page End  */

/* cust nav btn start */
.cust_nav_btn.nav-pills .nav-link.active, .cust_nav_btn.nav-pills .show>.nav-link{background: var(--ThemeColor); color: var(--White); }
.cust_nav_btn.nav-pills .nav-link{padding: 6px 12px; font-size: 14px; border: 1px solid var(--ThemeColor); color: var(--ThemeColor);}
/* cust nav btn End */

/* table css start  */
table tr td {color: #384551 !important; vertical-align: middle; font-size: 15px !important; padding: 0.65rem 0.5rem !important;}
table tr th {padding: 0.65rem 0.5rem !important;}
table tr th {color: #384551 !important; font-size: 12px; text-transform: uppercase; letter-spacing: 1px; font-weight:500;}
table tr td h6 { font-size: 15px !important; font-weight: 400;}
.dataTables_filter label {font-size: 0;}
.dataTables_filter label input {font-size: 14px;}

td[data-label="select2"], th[data-label="select2"]{width: 250px;}
td[data-label="action"], th[data-label="action"]{width: 125px;}
/* css for table start */
.maxH_500 {max-height: 75vh;}
.cust_dt tbody tr td span.td_description {display: -webkit-box !important;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;}
.cust_dt tbody tr td {max-width: 300px;}
@media (max-width: 1440px) {
  td[data-label="select2"], th[data-label="select2"]{width: 200px;}
  td[data-label="action"], th[data-label="action"]{width: 125px;}
}
@media (max-width: 991px) {
 .cust_dt tbody tr td {min-width: 150px;}
}
@media (max-width: 576px) {
  .dataTables_filter label, .dataTables_length label  {font-size: 0;}
  .dataTables_filter label input, .dataTables_length label input {font-size: 14px;}
  .cust_dt tbody tr td span.td_description {min-width: 150px;}
  .cust_dt tbody tr td {min-width: 120px;}
  div.dataTables_wrapper div.dataTables_filter input{margin: 0;}
}

/* table css End  */

/* form css start  */
.form-control, .form-select{box-shadow: none !important;}
.form-control:focus, .form-select:focus{border-color: #dee2e6;}
.form-select{background-position: right 0.40rem center !important; padding-right: 25px;}
/* form css End  */

/* profile page css Start */
.profile_div {display: flex; align-items: center;justify-content: center; width: 100px !important; height: 100px; overflow: hidden; border: 2px solid #fff; border-radius: 50%;box-shadow: 0 0px 14px 0 #00000026;}
.profile_div img {  width: 100px !important;object-fit: cover;height: 100px;}
/* profile page css End */

.footer_sec{background: var(--ThemeColorTwo);}
.footer_sec p, .footer_sec .footer_ul {color: var(--textColorNew);}
.footer_sec .footer_bottom {color: var(--textColorNew); border-top: 1px solid #1f2937;}
.link-info {color: var(--ThemeColor) !important;}

/* Milestone batch styles */
.milestone-assigned {background-color: #f8f9fa !important;}
.milestone-assigned td {color: #6c757d;}
.milestone-batch .card {transition: box-shadow 0.2s ease;}
.milestone-batch .card:hover {box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1);}
.milestone-batch .table {margin-bottom: 0;}
.milestone-batch .table th {font-size: 0.85rem; font-weight: 600;}
.milestone-batch .table td {font-size: 0.85rem; vertical-align: middle;}
#milestonesSection .card-header {border-radius: 0.375rem 0.375rem 0 0;}
#milestonesBatchContainer {padding: 1rem;}
.remove-milestone-batch, .remove-milestone-item {padding: 0.25rem 0.5rem;}
.bg-alicelightblue {background-color: #cfe2ff !important;}
/* company logo css start  */
.company_logo_div {display: flex; align-items: center;justify-content: center; width: 100px !important; height: 100px; overflow: hidden; border: 2px solid #fff; border-radius: 50%;box-shadow: 0 0px 14px 0 #00000026;}
.company_logo_div img {  width: 100px !important;object-fit: cover;height: 100px;}
/* company logo css end */

/* Scrollable container */
.file-container-wrapper {
    max-height: 300px;
    overflow-y: auto;
    padding-right: 5px;
    border: 1px solid #e3e3e3;
    border-radius: 8px;
    background: #fafafa;
}

/* Grid layout */
.file-container-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 18px;
    padding: 15px;
}

/* Card design */
.file-card {
    background: white;
    border-radius: 10px;
    padding: 12px;
    text-align: center;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    height: 180px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.file-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 10px rgba(0,0,0,0.12);
}

/* File thumbnails */
.file-thumb {
    width: 100%;
    height: 120px;
    object-fit: cover;
    border-radius: 6px;
    cursor: pointer;
}

/* Icons (centered) */
.icon-file {
    object-fit: contain !important;
    padding: 10px;
    background: #f1f1f1;
}

/* File name */
.file-name {
    font-size: 12px;
    color: #555;
    margin-top: 6px;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}

.custom_dropdown-menu-lg{
    min-width: 280px;
  max-width: 400px !important;
  padding: 0;
}

/* Header logo */
.header-logo svg {
    width: 28px;
    height: 28px;
}

/* Show logo in header when sidebar is collapsed */
body.sidebar-collapse .header-logo-wrapper {
    display: flex !important;
}

/* Hide sidebar logo when collapsed */
body.sidebar-collapse .sidebar-brand {
    display: none;
}
/* When sidebar is collapsed, show logo in header */
.sidebar-collapse .app-header-brand {
    display: flex !important;
}

/* When sidebar is open, hide header logo */
.app-header-brand {
    display: none;
}

/* Content should expand fully when sidebar collapsed */
.sidebar-collapse .app-main {
  margin-left: 0 !important;
}

.sidebar-collapse .app-header .container-fluid {
  padding-left: 1rem;
}


#categoryTabs{
  width: 100%;
  overflow-x: scroll;
  overflow-y: inherit;
}

.estimation-row.new-supplier-row input {
    min-width: 75px !important;
}

.estimation-row.new-supplier-row select {
    min-width: 50px !important;
}
.badge_info {
  color: #026aa2;
  background-color: #f0f9ff;
  border: 1px solid #f0f9ff;
}

/*
|--------------------------------------------------------------------------
| Counter Badges  — dark navy pill, matches screenshot exactly
|--------------------------------------------------------------------------
*/

.log-counter-badge {
    display : inline-flex;
    align-items : center;
    padding : 5px 14px;
    border-radius : 4px;
    font-size : .8rem;
    font-weight : 700;
    letter-spacing : .02em;
    color : #fff;
    line-height : 1.4;
}

.log-counter-badge.lvl-total    { background: #0f1b4c; }
.log-counter-badge.lvl-critical { background: #0f1b4c; }
.log-counter-badge.lvl-emergency{ background: #0f1b4c; }
.log-counter-badge.lvl-alert    { background: #0f1b4c; }
.log-counter-badge.lvl-error    { background: #0f1b4c; }
.log-counter-badge.lvl-warning  { background: #0f1b4c; }
.log-counter-badge.lvl-notice   { background: #0f1b4c; }
.log-counter-badge.lvl-info     { background: #0f1b4c; }
.log-counter-badge.lvl-debug    { background: #0f1b4c; }


/*
|--------------------------------------------------------------------------
| Toolbar
|--------------------------------------------------------------------------
*/

.log-toolbar {
    background : #f8f9fa;
    border : 1px solid #e9ecef;
    border-radius : 6px;
    padding : 10px 14px;
}

.log-search {
    width : 240px !important;
}


/*
|--------------------------------------------------------------------------
| Filter Buttons — sharp corners, outline / filled per level
|--------------------------------------------------------------------------
*/

.level-btn {
    font-size   : .75rem;
    font-weight : 600;
    padding     : 3px 10px;
    border-radius : 3px;
    border-width  : 1.5px;
    letter-spacing: .03em;
    line-height   : 1.6;
}

/* ALL */
.level-btn[data-level="ALL"].active-btn           {background-color: var(--ThemeColor);color: #fff;border: 1px solid var(--ThemeColor); }
.level-btn[data-level="ALL"]:not(.active-btn)     {background-color: transparent;color: var(--ThemeColor);border: 1px solid var(--ThemeColor); }

/* CRITICAL / EMERGENCY / ALERT / ERROR */
.level-btn[data-level="CRITICAL"].active-btn,
.level-btn[data-level="EMERGENCY"].active-btn,
.level-btn[data-level="ALERT"].active-btn,
.level-btn[data-level="ERROR"].active-btn         {background-color: var(--ThemeColor);color: #fff;border: 1px solid var(--ThemeColor); }
.level-btn[data-level="CRITICAL"]:not(.active-btn),
.level-btn[data-level="EMERGENCY"]:not(.active-btn),
.level-btn[data-level="ALERT"]:not(.active-btn),
.level-btn[data-level="ERROR"]:not(.active-btn)    {background-color: transparent;color: var(--ThemeColor);border: 1px solid var(--ThemeColor); }

/* WARNING */
.level-btn[data-level="WARNING"].active-btn       {background-color: var(--ThemeColor);color: #fff;border: 1px solid var(--ThemeColor); }
.level-btn[data-level="WARNING"]:not(.active-btn) {background-color: transparent;color: var(--ThemeColor);border: 1px solid var(--ThemeColor); }

/* INFO / NOTICE */
.level-btn[data-level="INFO"].active-btn,
.level-btn[data-level="NOTICE"].active-btn        {background-color: var(--ThemeColor);color: #fff;border: 1px solid var(--ThemeColor); }
.level-btn[data-level="INFO"]:not(.active-btn),
.level-btn[data-level="NOTICE"]:not(.active-btn)  {background-color: transparent;color: var(--ThemeColor);border: 1px solid var(--ThemeColor); }

/* DEBUG */
.level-btn[data-level="DEBUG"].active-btn         {background-color: var(--ThemeColor);color: #fff;border: 1px solid var(--ThemeColor); }
.level-btn[data-level="DEBUG"]:not(.active-btn)   {background-color: transparent;color: var(--ThemeColor);border: 1px solid var(--ThemeColor); }


/*
|--------------------------------------------------------------------------
| Log Rows — full border all sides, level colour
|--------------------------------------------------------------------------
*/

.log-row {
    border        : 1.5px solid #dee2e6;
    border-radius : 5px;
    margin-bottom : 5px;
    background    : #fff;
    overflow      : hidden;
}

.log-row.lvl-warning,
.log-row.lvl-emergency,
.log-row.lvl-alert   { border-color: #ffc107; }

.log-row.lvl-error,
.log-row.lvl-critical { border-color: #d1390a; }

.log-row.lvl-info,
.log-row.lvl-notice  { border-color: #0d6efd; }

.log-row.lvl-debug   { border-color: #6c757d; }

.log-row-header {
    display     : flex;
    align-items : center;
    padding     : 9px 14px;
    font-size   : .83rem;
    gap         : 8px;
}

.log-row-header.cp { cursor: pointer; }
.log-row-header.cp:hover { background: #fafafa; }


/* Level badge inside row */
.log-level-badge {
    font-size    : .68rem;
    font-weight  : 700;
    padding      : 2px 7px;
    border-radius: 3px;
    white-space  : nowrap;
    flex-shrink  : 0;
    color        : #fff;
}

.log-level-badge.lvl-error,
.log-level-badge.lvl-critical,
.log-level-badge.lvl-emergency,
.log-level-badge.lvl-alert   { background: var(--ThemeColor); color: #ffff; } 

.log-level-badge.lvl-warning { background: var(--ThemeColor); color: #ffff; }

.log-level-badge.lvl-info,
.log-level-badge.lvl-notice  { background: var(--ThemeColor); }

.log-level-badge.lvl-debug   { background: var(--ThemeColor); }


/* Message text */
.log-msg {
    flex       : 1;
    word-break : break-word;
    color      : #212529;
}


/* Chevron */
.log-chevron {
    color       : #6c757d;
    font-size   : .75rem;
    flex-shrink : 0;
    transition  : transform .15s ease;
    margin-left : auto;
    padding-left: 8px;
}

.log-chevron.open { transform: rotate(90deg); }


/*
|--------------------------------------------------------------------------
| Trace Block — dark background like screenshot
|--------------------------------------------------------------------------
*/

.log-trace {
    display : none;
}

.log-trace pre {
    margin       : 0;
    padding      : 12px 16px;
    background   : #1a1a2e;
    color        : #e8e8e8;
    font-family  : 'Courier New', Courier, monospace;
    font-size    : .76rem;
    white-space  : pre-wrap;
    word-break   : break-all;
    border-radius: 0;
    border-top   : 1px solid rgba(255,255,255,.08);
}


/* ── input-group affixes ("$" prefix, "%" suffix) ─────────────────────────────
   custom_theme.css sets border-radius on .input-group-text with !important, so each
   affix renders as its own rounded pill floating beside the field instead of joining
   it. Only the group's outer corners should be round, so square off every inner edge.

   Position-aware rather than blanket: #floaterForm has a "$" before the input while
   #eoForm has both a "$" before and "%" after, so keying off first/last child handles
   either without needing a rule per field.

   Scoped to these two forms — input-group-text is used across the app (password
   reveal buttons, etc.) and the default rounding is correct there. */

/* Anything that isn't the last item: square its right edge. */
#floaterForm .input-group > :not(:last-child),
#eoForm     .input-group > :not(:last-child) {
    border-top-right-radius   : 0 !important;
    border-bottom-right-radius: 0 !important;
}

/* Anything that isn't the first item: square its left edge and pull it over one
   pixel so the two 1.5px borders collapse into a single shared line. */
#floaterForm .input-group > :not(:first-child),
#eoForm     .input-group > :not(:first-child) {
    border-top-left-radius   : 0 !important;
    border-bottom-left-radius: 0 !important;
    margin-left              : -1.5px;
}

/* The affix is a label, not a control — keep it visually quieter than the input. */
#floaterForm .input-group-text,
#eoForm     .input-group-text {
    min-width      : 2.75rem;
    justify-content: center;
    font-weight    : 600;
    color          : var(--neutral-500, #667085);
}

/* Focus ring must sit above the neighbouring affix, or the -1.5px overlap clips it. */
#floaterForm .input-group > .form-control:focus,
#eoForm     .input-group > .form-control:focus {
    position: relative;
    z-index : 3;
}
