html {
    font-size: 14px;
}

html, body {
    overflow: hidden !important;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 60px;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

.form-floating > .form-control-plaintext::placeholder,
.form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder,
.form-floating > .form-control:focus::placeholder {
    text-align: start;
}

.main-panel {
    max-height: 100%;
    height: 100%;
    display: flex !important;
    flex-direction: column;
    overflow: hidden;
}

.sidebar,
.main-panel,
.sidebar-wrapper,
.navbar-cmp-fixed .navbar {
    transition-property: top, bottom, width;
    transition-duration: 0.2s, 0.2s, 0.35s;
    transition-timing-function: linear, linear, ease;
    -webkit-overflow-scrolling: touch;
}

.main-panel {
    background: rgba(203, 203, 210, 0.15);
    position: relative;
    /* z-index: 2; */
    float: right;
    width: calc(100% - 350px);
    min-height: 100%;
    overflow: auto;
}

.ps {
    overflow: hidden !important;
    overflow-anchor: none;
    -ms-overflow-style: none;
    touch-action: auto;
    -ms-touch-action: auto;
}

.btn-group-vertical > .btn-group:after,
.btn-group-vertical > .btn-group:before,
.btn-toolbar:after,
.btn-toolbar:before,
.clearfix:after,
.clearfix:before,
.container-fluid:after,
.container-fluid:before,
.container:after,
.container:before,
.dl-horizontal dd:after,
.dl-horizontal dd:before,
.form-horizontal .form-group:after,
.form-horizontal .form-group:before,
.modal-footer:after,
.modal-footer:before,
.modal-header:after,
.modal-header:before,
.nav:after,
.nav:before,
.navbar-collapse:after,
.navbar-collapse:before,
.navbar-header:after,
.navbar-header:before,
.navbar:after,
.navbar:before,
.pager:after,
.pager:before,
.panel-body:after,
.panel-body:before,
.row:after,
.row:before {
    display: table;
    content: " ";
}

.container-fluid {
    padding: 20px 15px;
    margin-right: auto;
    margin-left: auto;
}

.card.item {
    display: flex;
    align-items: center;
    padding: 10px;
    margin-bottom: 10px;
    flex-direction: row;
}

.item__image {
    width: 40px;
    height: 40px;
    margin-right: 10px;
    max-width: 100%;
    vertical-align: middle;
}

.item__desc {
    flex-grow: 1;
    font-size: 14px;
    margin-bottom: 0;
}

.hidden {
    display: none !important;
}

.card.item.failed {
    border: 2px solid red;
}

.navbar .container-fluid {
    padding-top: 0;
}

.card .content.table-responsive {
    padding-top: 0;
    margin-top: -20px;
}

/* Upload */
#pending-file-uploads-container {
    display: flex;
    gap: 10px;
    flex-direction: column;
}

.hidden-element {
    display: none !important;
}

#upload-pending-files-entries {
}

.dragover {
    border: 2px dashed cornflowerblue !important;
    transform: scale(0.99) !important;
}

.uploading-files-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(2px);
    display: flex;
    justify-content: center;
    align-items: center;
}

.uploading-files-overlay p {
    color: white;
    font-size: 40px;
}

.badge-text {
    box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
    background-color: rgb(30, 30, 30);
    padding: 2px 8px 2px 8px;
    border-radius: 4px;
    color: white;
}

.uploaded-file-time-ago-badge {
    display: inline-block;
    background-color: rgba(30, 30, 30, 0.85);
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.4);
    padding: 4px 10px;
    border-radius: 16px;
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 0.6rem;
    font-weight: 600;
    color: #fff;
    letter-spacing: 0.5px;
    margin-left: 15px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* Sidebar */

.dashboard-icon img {
    filter: brightness(0) invert(1); /* makes black SVG white */
}

/*Pending upload begin*/

.pending-upload-name {
}

.pending-upload-file-remove-button {
    margin-left: auto;
    padding: 4px 10px;
    background: #444;
    color: #fff;
    border-radius: 20px;
    font-size: 0.8rem;
    cursor: pointer;
    transition: background 0.2s ease;
}

.pending-upload-file-remove-button:hover {
    background: #666;
}

.pending-upload-file-hash {
    font-family: monospace;
    background-color: rgb(50, 50, 50);
    color: white;
    padding: 2px 4px 2px 4px;
    border-radius: 10px;
    font-style: italic;
    font-size: 14px;
}

#pending-file-uploads-loading-message {
    color: gray;
}

.upload-pending-files-entry {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    border-radius: 10px;
    background-color: #2a2a2a;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.85);
    transition: transform 0.2s ease, box-shadow 0.2s, background-color 0.2s ease;
}

.pending-file-uploads-container-header {
    display: flex;
    gap: 10px;
}

.transition-opacity {
    opacity: 0;
    transition: opacity 0.6s;
}

.pending-upload-file-error-message {
}

.recently-uploaded-file {
    display: flex;
    gap: 10px;
}

.upload-pending-files-entry-success {
    background-color: forestgreen !important;
}

.upload-pending-files-entry-error {
    background-color: #d9534f !important;
}

#upload-pending-files-btn {
    width: fit-content;
    white-space: nowrap;
    margin-left: auto;
}

/* Upload End */

/* Audit Log */
td i {
    margin-right: 5px;
}

td.icons {
    width: 8%;
}

/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */
@layer properties;

.static {
    position: static;
}

.block {
    display: block;
}

.flex {
    display: flex;
}

.hidden {
    display: none;
}

.h-1\/6 {
    height: calc(1 / 6 * 100%);
}

.h-5\/6 {
    height: calc(5 / 6 * 100%);
}

.h-full {
    height: 100%;
}

.h-screen {
    height: 100vh;
}

.min-h-screen {
    min-height: 100vh;
}

.w-2\/12 {
    width: calc(2 / 12 * 100%);
}

.w-4\/12 {
    width: calc(4 / 12 * 100%);
}

.w-5\/12 {
    width: calc(5 / 12 * 100%);
}

.w-6\/12 {
    width: calc(6 / 12 * 100%);
}

.w-7\/12 {
    width: calc(7 / 12 * 100%);
}

.w-8\/12 {
    width: calc(8 / 12 * 100%);
}

.w-10\/12 {
    width: calc(10 / 12 * 100%);
}

.w-full {
    width: 100%;
}

.w-0 {
    width: 0rem;
}

.w-1 {
    width: 0.25rem;
}

.w-2 {
    width: 0.5rem;
}

.w-3 {
    width: 0.75rem;
}

.w-4 {
    width: 1rem;
}

.w-5 {
    width: 1.25rem;
}

.w-6 {
    width: 1.5rem;
}

.w-7 {
    width: 1.75rem;
}

.w-8 {
    width: 2rem;
}

.w-9 {
    width: 2.25rem;
}

.w-10 {
    width: 2.5rem;
}

.w-11 {
    width: 2.75rem;
}

.w-12 {
    width: 3rem;
}

.w-14 {
    width: 3.5rem;
}

.w-16 {
    width: 4rem;
}

.w-20 {
    width: 5rem;
}

.w-24 {
    width: 6rem;
}

.w-28 {
    width: 7rem;
}

.w-32 {
    width: 8rem;
}

.w-36 {
    width: 9rem;
}

.w-40 {
    width: 10rem;
}

.w-44 {
    width: 11rem;
}

.w-48 {
    width: 12rem;
}

.w-52 {
    width: 13rem;
}

.w-56 {
    width: 14rem;
}

.w-60 {
    width: 15rem;
}

.w-64 {
    width: 16rem;
}

.w-72 {
    width: 18rem;
}

.w-80 {
    width: 20rem;
}

.w-96 {
    width: 24rem;
}

.flex-none {
    flex: none;
}

.cursor-default {
    cursor: default;
}

.cursor-pointer {
    cursor: pointer;
}

.flex-row {
    flex-direction: row;
}

.flex-nowrap {
    flex-wrap: nowrap;
}

.content-center {
    align-content: center;
}

.items-center {
    align-items: center;
}

.justify-center {
    justify-content: center;
}

.overflow-hidden {
    overflow: hidden;
}

.rounded-full {
    border-radius: calc(infinity * 1px);
}

.border {
    border-style: var(--tw-border-style);
    border-width: 1px;
}

.border-2 {
    border-style: var(--tw-border-style);
    border-width: 2px;
}

.border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
}

.bg-\[\#7BA792\] {
    background-color: #7BA792;
}

.bg-\[\#C4746B\] {
    background-color: #C4746B;
}

.bg-gradient-to-r {
    --tw-gradient-position: to right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
}

.bg-gradient-to-tr {
    --tw-gradient-position: to top right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
}

.py-\[3px\] {
    padding-block: 3px;
}

.text-center {
    text-align: center;
}

.text-left {
    text-align: left;
}

.leading-none {
    --tw-leading: 1;
    line-height: 1;
}

.transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, visibility, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, ease);
    transition-duration: var(--tw-duration, 0s);
}

.outline-none {
    --tw-outline-style: none;
    outline-style: none;
}

.select-none {
    -webkit-user-select: none;
    user-select: none;
}

.hover\:bg-gradient-to-br {
    &:hover {
        @media (hover: hover) {
            --tw-gradient-position: to bottom right in oklab;
            background-image: linear-gradient(var(--tw-gradient-stops));
        }
    }

}

.focus\:ring-0 {
    &:focus {
        --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

}

.focus\:ring-2 {
    &:focus {
        --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

}

.focus\:ring-4 {
    &:focus {
        --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

}

.focus\:outline-none {
    &:focus {
        --tw-outline-style: none;
        outline-style: none;
    }

}

@property --tw-border-style {
    syntax: "*";
    inherits: false;
    initial-value: solid;
}

@property --tw-leading {
    syntax: "*";
    inherits: false;
}

@property --tw-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
    syntax: "*";
    inherits: false;
}

@property --tw-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%;
}

@property --tw-inset-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
    syntax: "*";
    inherits: false;
}

@property --tw-inset-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%;
}

@property --tw-ring-color {
    syntax: "*";
    inherits: false;
}

@property --tw-ring-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
    syntax: "*";
    inherits: false;
}

@property --tw-inset-ring-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
    syntax: "*";
    inherits: false;
}

@property --tw-ring-offset-width {
    syntax: "<length>";
    inherits: false;
    initial-value: 0px;
}

@property --tw-ring-offset-color {
    syntax: "*";
    inherits: false;
    initial-value: #fff;
}

@property --tw-ring-offset-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000;
}

@layer properties {
    @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
        *, ::before, ::after, ::backdrop {
            --tw-border-style: solid;
            --tw-leading: initial;
            --tw-shadow: 0 0 #0000;
            --tw-shadow-color: initial;
            --tw-shadow-alpha: 100%;
            --tw-inset-shadow: 0 0 #0000;
            --tw-inset-shadow-color: initial;
            --tw-inset-shadow-alpha: 100%;
            --tw-ring-color: initial;
            --tw-ring-shadow: 0 0 #0000;
            --tw-inset-ring-color: initial;
            --tw-inset-ring-shadow: 0 0 #0000;
            --tw-ring-inset: initial;
            --tw-ring-offset-width: 0px;
            --tw-ring-offset-color: #fff;
            --tw-ring-offset-shadow: 0 0 #0000;
        }
    }
}

/*Start Manual review*/

#view-manual-item-pdf-preview {
    width: 100%;
    height: 100%;
}

#manual_list_loading {
    width: 100%;
    height: 100%;
    min-height: 300px;
    position: relative;
}

/*End Manual review*/

.btn-actions {
    background-color: #fff;
    color: #008080;
    border-width: 2px;
    border-color: #008080;
}

.btn-actions:hover {
    background-color: #008080;
    color: #fff;
    border-width: 2px;
    border-color: #008080;
}

.searching-spinner {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    color: #555;
    font-weight: 500;
    user-select: none;
}

.searching-spinner i {
    font-size: 20px;
    animation: search-pulse 0.9s infinite ease-in-out;
}

@keyframes search-pulse {
    0% {
        transform: translateX(0) rotate(0deg);
        opacity: 0.6;
    }
    50% {
        transform: translateX(5px) rotate(10deg);
        opacity: 1;
    }
    100% {
        transform: translateX(0) rotate(0deg);
        opacity: 0.6;
    }
}

.manual-review-count-badge {
    align-items: center;
    padding: 1px 5px;
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    height: fit-content;
    background: #d92b2b;
    border-radius: 9px;
    border: 1px solid rgba(0, 0, 0, 0.1);
}

.modal-window-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(1px);
    opacity: 0;
    pointer-events: none;
    transition: opacity .35s ease;
    z-index: 9999;
}

.modal-window-overlay.modal-window-active {
    opacity: 1;
    pointer-events: auto;
}

.modal-window-container {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(90%, 450px);
    background: #fff;
    border-radius: 10px;
    transform: translate(-50%, -60%) scale(0.9);
    opacity: 0;
    transition: all .35s ease;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.2);
}

.modal-window-container-fit-viewport {
    width: 95vw !important;
}

.modal-window-overlay.modal-window-active .modal-window-container {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

.modal-window-close {
    width: 30px;
    height: 30px;
    cursor: pointer;
    position: absolute;
    right: 8px;
    top: 8px;
    border: none;
    outline: none;
    background: #eee;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    transition: background .2s;
}

.modal-window-close:hover {
    background: #ddd;
}

.modal-window-content {
    padding: 50px 25px 25px;
    font-size: 15px;
    color: #333;
}

/*Blurs the element and makes it inactive temporarily*/
.element-blur-active {
    pointer-events: none !important;
    filter: blur(3px);
}

.progress-bar-container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-grow: 1;
}

.progress-bar {
    position: relative;
    width: 300px;
    display: flex;
    height: 20px;
    padding: 13px;
    border-radius: 3px;
    border: 1px solid gray;
    background-color: rgb(60, 60, 60);
}

.progress-bar-text {
    text-align: center;
    margin: 0;
    z-index: 1;
    color: white;
}

.progress-bar-fill {
    background-color: cornflowerblue;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 100%;
    transition: right 0.3s ease-in-out;
}

.progress-bar-fill-indeterminate {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 0%;
    background-color: cornflowerblue;
    animation: progress-indeterminate 2s infinite cubic-bezier(0.65, 0.05, 0.36, 1);
}

@keyframes progress-indeterminate {
    0% {
        left: -35%;
        width: 35%;
    }
    100% {
        left: 100%;
        width: 90%;
    }
}

.rotating-text {
    display: inline-block;
    transform-origin: center;
    transition: transform 0.45s cubic-bezier(.32, 0, .18, 1);
    font-size: 16px;
    /*padding: 16px 32px;*/
    color: white;
    /*background: rgba(255,255,255,0.05);*/
    border-radius: 12px;
    /*backdrop-filter: blur(6px);*/
    /*border: 1px solid rgba(255,255,255,0.08);*/
    min-width: 280px;
    text-align: center;
    user-select: none;
    margin: 0 !important;
}

.shimmer-loading {
    background: linear-gradient(
            110deg,
            #eceff1 8%,
            #f5f7fa 18%,
            #ffffff 33%,
            #f5f7fa 48%,
            #eceff1 58%
    );
    background-size: 200% 100%;
    animation: shimmer 2s ease-in-out infinite;
}

@keyframes shimmer {
    0% {
        background-position: -200% 0;
    }
    100% {
        background-position: 200% 0;
    }
}

.uploaded-file-card-status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
}

.uploaded-file-card-status-success {
    background: #e8f5e9;
    color: #2e7d32;
}

.uploaded-file-card-status-review {
    background: #ffebee;
    color: #c62828;
}

.uploaded-file-card-icon {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.uploaded-file-card-status-success .uploaded-file-card-icon {
    background: #4caf50;
}

.uploaded-file-card-status-review .uploaded-file-card-icon {
    background: #ef5350;
}

.uploaded-file-card-icon svg {
    width: 10px;
    height: 10px;
    stroke: white;
    stroke-width: 2;
    fill: none;
}

.uploaded-file-completed-success {
    background-color: #7ccf7c;
}

.upload-pending-files-entry-warning {
    background-color: #ffe08a !important;
}

.uploaded-file-completed-error {
    background-color: #cf7c7c;
}

/*Overrides for datatables TODO might need to be very last */

/*.dt-paging-button {*/
/*    background-color: #2e2e2e !important;*/
/*    border: 1px solid #444 !important;*/
/*    color: white !important;*/
/*}*/
/*.dt-paging-button {*/
/*    !*color: white !important;*!*/
/*}*/

/*.dt-paging-button.current {*/
/*    color: white !important;*/
/*    background-color: rgb(27, 121, 141) !important;*/
/*}*/

/*div.dt-container .dt-paging {*/
/*    color: white !important;*/
/*}*/

.wrapped-table-for-loading {
    position: relative;
    margin: 16px;
}

.wrapped-table-for-loading .default-loading-div {
    z-index: 100;
}

.user-validation-error-badge {
    white-space: nowrap;
    font-size: 12px;
    color: red;
}

.change-password-modal-content {

}

.change-password-modal-content p, i {
    user-select: none;
    margin: 0;
}

.change-password-modal-recommendation {
    font-size: 12px;
}
