/* Global Select Input Style */
input, select {
    width: 100%
}

/* Global input placeholder color */
::placeholder,
.form-control::placeholder {
    color: #999;
}

.copy-to-clipboard {
    cursor: context-menu;
}

.badge {
    border-radius: 0.3rem;
}

.badge-multiline {
    display: inline-block;
    white-space: normal;
}

.bg-grey {
    background-color: #6c757d;
}

.bg-light-red {
    background-color: #ffd4d4 !important;
}

.bg-light-green {
    background-color: #D2FFE3 !important;
}

.flatpickr-wrapper {
    display: block;
}

.form-section-header {
    height: 63px;
    display: block;
}

/* Disable hover effect on btn-link */
.btn-link.active:focus, .btn-link:active:focus {
    box-shadow: none;
}

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

/* Change color of disabled btn links in card headers */
.card-header .btn-link.disabled, .card-header .btn-link:disabled {
    color: #E5E7EB !important;
}

.card-header-text-action-button {
    color: #E5E7EB;
    font-weight: 600;

    padding: 0 !important;
    padding-right: 0.25rem !important;

    font-size: .875rem !important;
    margin-top: 0;
    line-height: 1.3;
    display: block;
    float: right;
}

.card-header-text-action-button:hover {
    color: #D1D5DB;
}

.card-header-text-action-button:disabled {
    color: #EF7D30;
}

.card-header-text-action-button-separator {
    color: white;
    font-weight: 600;

    padding: 0 !important;
    padding-right: 0.25rem !important;

    font-size: .875rem !important;
    margin-top: 0;
    line-height: 1.3;
    display: block;
    float: right;
}

.card-header-empty-section {
    border-radius: 0.4375rem !important;
}

.modal .card-header {
    background-color: var(--bs-gray-200);
}

.modal .card {
    font-size: 0.97em;
}

.datatable-badge-normal {
    padding: 0.25rem;
    font-size: 12px;
    font-weight: 500;
}

.fas,
.far {
    margin-right: 5px;
}

.btn-icon .fas, .btn-icon .far {
    margin-right: 0;
}

/* Nav-tabs inactive tab bottom border */
.nav-tabs .nav-link {
    border-bottom: .0625rem solid #9ca3af;
}

/* Sidebar adjustments start */
.sidebar.contracted {
    max-width: 80px !important;
}


.sidebar.contracted .sidebar-header-text {
    color: #152F4D !important
}

.sidebar.contracted .sidebar-header-divider {
    max-width: 50px;
}

/*span .sidebar-icon {*/
/*    width: 20px !important;*/
/*    display: inline-block;*/
/*}*/

/* Sidebar adjustments end */

@media (min-width: 992px) {
    .navbar-nav .dropdown-menu-center {
        left: 50%;
        transform: translateX(-80%);
    }
}

/* Textarea character counter — reserve a stable, fixed-width box so the
   help_text underneath does not shift as the counter is populated or as its
   digit count changes. Hidden while empty (the field template renders the
   badge for every textarea, including those without a maxlength). */
.textarea-char-counter {
    min-width: 82px;
    text-align: center;
}

.textarea-char-counter:empty {
    display: none;
}

/* Form help text styles */
.form-text ul {
    list-style: none;
    padding-inline-start: 0;
}

.form-text li {
    margin-top: .25rem;
    font-size: .955em;
}

.invalid-feedback {
    display: block;
}

input[type="time"]::-webkit-calendar-picker-indicator {
    cursor: pointer;
}

input[type="time"] {
    line-height: .955rem;
}

input[type="color"] {
    height: 39px;
}

.required:after {
    content: " *";
    color: red;
}

.datatable_row_link {
    cursor: pointer;
}

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

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

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

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

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

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

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

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

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

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

/* Make nested nav items smaller */

.nav-item .nav-item .nav-link {
    font-size: smaller;
}

.sidebar:not(.contracted) .multi-level.top-tier > .nav > .nav-item > .nav-link {
    font-size: 0.85em;
    padding-left: 48px;
    font-weight: 500;
}

.sidebar:not(.contracted) .multi-level.top-tier > .nav > .nav-item > .multi-level > .nav > .nav-item > .nav-link {
    font-size: 0.8em;
    padding-left: 63px;
}

.sidebar:not(.contracted) .multi-level.top-tier > .nav > .nav-item > .multi-level > .nav > .nav-item > .multi-level > .nav > .nav-item > .nav-link {
    font-size: 0.75em;
    font-style: italic;
    padding-left: 78px;
}

.sidebar .nav-item > .nav-link > a,
.sidebar .nav-item > .nav-link > .link-arrow {
    color: inherit;
    transition: color 0s;
}

.sidebar .nav-item .nav-link:hover, .sidebar .nav-item.active > .nav-link {
    color: #ffffff;
}

.sidebar:not(.contracted) .nav-item > .expandable-link {
    padding: 0 0.2rem 0 0 !important;
}

.sidebar:not(.contracted) .nav-item > .expandable-link > a {
    padding-top: 0.55rem;
    padding-bottom: 0.55rem;
    padding-left: 0.75rem;
}

.sidebar:not(.contracted) .multi-level.top-tier .nav-item > .expandable-link > a {
    padding-left: 48px;
}

.sidebar:not(.contracted) .multi-level.top-tier .nav-item > .multi-level > .nav > .nav-item > .expandable-link > a {
    padding-left: 63px;
}

.sidebar:not(.contracted) .nav-item > .expandable-link > .link-arrow {
    padding: 0.55rem;
}

.sidebar .nav-link .link-arrow {
    transition: rotate .2s ease;
    transition: color 0s ease !important;
}

.sidebar .nav-link .link-arrow[aria-expanded=true] {
    transform: rotate(90deg);
}

a.link-icon-before:before {
    padding-left: 3px;
    padding-right: 3px;
    font-family: "Font Awesome 5 Free";
    display: inline-block;
    vertical-align: middle;
    font-weight: 800;
    content: '\f0c1';
    color: #4f5d732e;
}

a.link-icon-after:after {
    padding-left: 3px;
    padding-right: 3px;
    font-family: "Font Awesome 5 Free";
    display: inline-block;
    vertical-align: middle;
    font-weight: 800;
    content: '\f0c1';
    color: #4f5d732e;
}

@media (min-width: 1200px) {
    .modal-xxl {
        max-width: 1280px;
    }
}

/* Tagify styles start */
.tagify.form-control {
    padding-right: 5px;
}

.tagify__tag {
    --tag-inset-shadow-size: 5em;
}

.tagify__dropdown {
    transform: translateY(-1px) !important;
}

.tagify__dropdown__wrapper {
    border: .0625rem solid #d1d5db !important;
    border-radius: 0 0 0.5rem 0.5rem;
}

.tagify__dropdown__item--active {
    margin: 0 !important;
    background: #e5e56b !important;
    color: #515d8a !important;
}

.tagify--focus[aria-expanded=true] {
    border-radius: 0.5rem 0.5rem 0 0;
}

/* Tagify styles end */


/* Image Upload field with preview start */
.image-upload-field {
    display: flex;
    flex-wrap: wrap;
    margin: -10px; /* Compensate for item padding */
}

/* Preview wrapper takes full width when wrapped */
.image-upload-field-preview-wrapper {
    padding: 10px;
    flex: 1 0 200px; /* Ensure min width triggers wrapping */
    display: flex;
    justify-content: center; /* Center the preview container */
}

/* Actual image container */
.image-upload-field-preview-container {
    width: 200px; /* Fixed width */
    text-align: center;
}

/* Field container */
.image-upload-field-field-container {
    flex: 999 0 300px; /* Higher growth to prioritize field space */
    padding: 10px;
}

/* Image styling */
.image-upload-field-preview-image {
    max-height: 200px;
    max-width: 100%;
    border-radius: 0.25rem;
}
/* Image Upload field with preview end */

/* Icon Button Styles */
.btn-icon {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
}

.btn-icon i {
  font-size: 0.875rem;
}

.btn-icon-danger {
  color: #dc3545;
  background-color: transparent;
  border: 1px solid #dc3545;
  transition: all 0.15s ease-in-out;
}

.btn-icon-danger:hover {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}

.btn-icon-danger:focus {
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.btn-icon-success {
  color: #fff;
  background-color: #198754;
  border: 1px solid #198754;
  transition: all 0.15s ease-in-out;
}

.btn-icon-success:hover {
  color: #fff;
  background-color: #157347;
  border-color: #146c43;
}

.btn-icon-success:focus {
  box-shadow: 0 0 0 0.2rem rgba(25, 135, 84, 0.25);
}

.btn.disabled {
    pointer-events: none;
    opacity: .40;
    box-shadow: none;
    color: #6B7280 !important;
}

.btn-success {
    color: #fff !important;
}

.btn-success.disabled, .btn-success:disabled {
    color: #6B7280 !important;
    background-color: unset !important;
    border-color: unset !important;
}

.checkbox-danger {
    /* Red border when unchecked */
    border-color: #dc3545 !important;
}

.checkbox-danger:checked {
    border-color: #152f4d !important;
}

.checkbox-danger:focus {
    /* Red focus ring when unchecked */
    border-color: #152f4d !important;
}

.checkbox-danger:checked:focus {
    /* Regular focus ring when checked */
    border-color: #152f4d !important;
}

.wide-tooltip .tooltip-inner {
    max-width: 400px;
}

.tooltip-2-columns .tooltip-inner {
    max-width: 700px;
    column-count: 2;
    column-gap: 1.5rem;
}

.tooltip-3-columns .tooltip-inner {
    max-width: 1000px;
    column-count: 3;
    column-gap: 1.5rem;
}

.tooltip-4-columns .tooltip-inner {
    max-width: 1300px;
    column-count: 4;
    column-gap: 1.5rem;
}

.tooltip-footer {
    column-span: all;
    text-align: center;
    margin-top: 0.5rem;
    font-style: italic;
}

.left-aligned-tooltip .tooltip-inner {
    text-align: left !important;
}
.right-aligned-tooltip .tooltip-inner {
    text-align: right;
}
.tooltip-inner .text-start {
    text-align: left;
}

/* Below Bootstrap xxl breakpoint (~1600px) — compact card headers */
@media (max-width: 1600px) {
    .card > .card-header.bg-primary {
        padding: 0.2rem 0.5rem !important;
    }
    .card > .card-header.bg-primary h2,
    .card > .card-header.bg-primary h3 {
        font-size: 0.8rem !important;
        padding: 0.1rem 0 !important;
    }
    .card > .card-header.bg-primary .card-header-text-action-button {
        font-size: 0.75rem !important;
    }
}
