html, #layout-wrapper, #app, body {
    height: 100%;
}

body {
    font-family: Inter, Helvetica, Arial, sans-serif;
    color: #333333;
    background-color: #f6f6f9 !important;
}

/*Shared styles (move to library?)*/
/* Fix columns blinking on bootstrap grid in Safari*/
.row:before, .row:after {
    display: none !important;
}

.import-contacts-right-container {
    padding-bottom: unset !important;
    border-bottom-left-radius: unset !important;
    border-bottom-right-radius: unset !important;
}

.import-contacts-left-container {
    border-bottom-left-radius: unset !important;
    border-bottom-right-radius: unset !important;
    padding-right: 48px !important;
}

.il-modal-footer {
    padding: 18px 24px 18px 24px !important;
    border-top: 2px solid #e3e3ed;
    position: relative;
    bottom: 0;
    border-top-left-radius: unset !important;
    border-top-right-radius: unset !important;
}

.il-primary-pressed {
    color: #99A9F3 !important
}

.import-contacts-done .import-result-success-icon .icon {
    width: 40px !important;
    height: 40px !important;
}

.import-contacts-done .import-result-success-icon {
    width: 90px !important;
    height: 90px !important;
}

.select-step-body {
    min-height: 410px;
}

.select-step-body .no-records-move-down {
    padding-top: 150px;
}

.select-step-body .table thead tr th:first-child {
    padding-left: 35px;
}

.select-step-body .form-check-label {
    padding-left: 10px;
    margin-top: 3px;
}

.send-email-switcher {
    background-color: var(--il-neutral-100);
    border-radius: .65rem;
    font-size: .875rem;
    font-weight: 400;
    font-style: normal;
    padding: 10px;
    margin-bottom: 20px;
}

.vendor-contractor-switcher {
    display: inline-flex;
    background-color: var(--il-neutral-100);
    border-radius: .65rem;
}

.vendor-contractor-switcher .btn {
    flex: 1;
    font-weight: bold;
    color: var(--il-black-400);
    background-color: var(--il-neutral-100);
}

.vendor-contractor-switcher .btn-info {
    background-color: white;
    box-shadow: 0px 4px 4px 0px rgba(23, 20, 43, 0.08);
    color: var(--il-primary-400);
}

.vendor-contractor-switcher .badge-label {
    border-radius: 50%;
    background-color: var(--il-primary-400);
    display: inline-block;
    width: 20px;
    height: 20px;
    color: white;
    text-align: center;
    line-height: 20px;
    font-size: small;
}

.preview-file {
    position: relative;
}

.preview-file button span {
    background-color: #ff0000 !important;
}

.failed-preview-file button span {
    background-color: #ff0000 !important;
}

.failed-preview-file {
    position: relative;
    padding: 16px;
    padding-right: 50px;
    border-radius: 16px;
    border: 1px solid #BDBDCA;
    color: #727577;
    min-height: 30px;
    font-family: Inter;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 16px;
}

.failed-preview-file .preview-filename {
    color: #171820;
    margin-bottom: 20px;
    font-family: Inter;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 16px;
}

.dynamic-document-fields .form-check .form-check-input {
    margin-top: .5em;
}

.dynamic-document-fields .form-checkbox {
    align-items: flex-start;
}

    .dynamic-document-fields .form-checkbox .form-check-input {
        margin-top: .25em;
        min-width: 1.25rem;
    }

.user-profile-page-content .il-form-validationsummary {
    display: none !important;
}

.user-list-page-content > div:nth-child(1) > div:nth-child(2) > div:nth-child(4),
.user-list-page-content > div:nth-child(1) > div:nth-child(2) > div:nth-child(5) {
    display: none !important;
}

.invite-vendor-stepper .right-container{
    width: 600px !important;
    padding-bottom: 0;
}

.invite-vendor-stepper .invite-vendor-body{
    height: 480px !important;
    overflow: auto;
}

.fs-14 {
    font-size: 14px;
    line-height: 18px;
    font-weight: 500;
}

.fs-12 {
    font-size: 12px;
    line-height: 16px;
    font-weight: 500;
}

.fs-10 {
    font-size: 10px;
    line-height: 12px;
}

/* Sorting table */
.table-sorting {
    width: 100%;
    cursor: pointer;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    color: var(--il-neutral-400);
}
.table-sorting .icon {
    width: 10px !important;
    height: 10px !important;
    margin-left: 5px;
    margin-bottom: 3px;
}

.ilauth-logo {
    margin-bottom: 1.5em;
}

/* Add Site modal */
.add-site-alert-block {
    height: 480px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.add-site-alert {
    max-width: unset !important;
    padding-right: 20px;
}

.font-size-smaller {
    font-size: 0.75rem !important;
}

.busypanel {
    /* Page loader to cover side panels */
    z-index: 1070 !important;
    /* Fix shadowing for scrollable pages */
    position: fixed;
}

.il-button.btn-primary:disabled, .il-button.btn-secondary:disabled, .il-button.btn-outline-primary:disabled {
    color: var(--il-neutral-dark);
    border-color: var(--il-neutral-medium);
}

/* Black title for steppers */
.modal-body .il-title-1 {
    color: var(--il-neutral-black) !important;
}

/* Move header to the right for column with checkbox content */
.select-step-body thead th:nth-child(2),
.assign-task-step-body th:nth-child(2) {
    padding-left: 35px;
}

/* Hide extra spinners on dashboard page */
.site-compliance-grid-card .busypanel-status {
    display: none;
}

/* Link to the icon which is not in the library */
.icon-specific-square-minus {
  mask: url(/icons/square-minus.svg) no-repeat center;
  -webkit-mask: url(/icons/square-minus.svg) no-repeat center;
}

/* Primary style for the specific icon */
.icon-specific {
  width: 18px;
  height: 18px;
  display: inline-block;
  mask-size: contain !important;
  -webkit-mask-size: contain !important;
}

.ai-pond-document {
    width: 100%;
    height: 90%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.ai-block {
    max-width: 60rem;
}

div:has(> h3 > .page-header-title) {
  flex: 1;
  min-width: 0;
}

h3:has(> .page-header-title) {
  overflow: hidden;
}