:root {
    --primary: #69BE28;
    --secondary: #002244;
    --secondary-25: rgb(105, 190, 40, 0.25);
    --grey: #f2f3f8;
    --background: rgba(242, 243, 248);
    --lightgrey: #f5f8fa;
    --title-text: #002244;
    --border: rgba(0, 34, 68, 0.2);
    --text: #000000;
    --text-secondary: #FBFDFF;
    --info: #5578eb;
    --success: #1dc9b7;
    --warning: #ffb822;
    --danger: #df2427;
    --disabled: #b2b8c2;
    --handle: #b2b8c2;
    --map-background: #f8f9fa;
    --button-hover: #f2f3f8;
    --bs-emphasis-color: var(--bs-body-bg);
    --dt-row-selected: 238, 239, 241;
    --dt-row-selected-text: 0, 0, 0;
}

html, body {
    height: 100%;
    font-weight: 400;
    box-shadow: 0px 25px 50px 0px rgb(0 0 0 / 4%) !important;
    -webkit-box-shadow: 0px 25px 50px 0px rgb(0 0 0 / 4%) !important;
    background-color: var(--background);
    overflow: hidden !important;
}

.gshDisplay {
    border-color: #cdaaee;
    opacity: 0%;
    margin-bottom: 6px;
}

.bg {
    background-color: var(--background);
}


#bodyScroll {
    overflow: hidden !important;
    height: 100vh;
    max-height: 100vh;
    /* Flex default min-width:auto lets wide DataTables (e.g. dynamic reports) expand the main column and shove the header/profile off-screen */
    min-width: 0;
}

body:has(.kt_headers:not(.kt-hidden)) #bodyScroll {
    height: calc(100vh - 75px);
    max-height: calc(100vh - 75px);
}

/* App shell: main column (sidebar + this) lives in a horizontal flex row; min-width:0 allows it to stay within the viewport when inner content (e.g. DataTables) has a large intrinsic width */
.kt-grid.kt-grid--ver > .d-flex.flex-column.w-full {
    min-width: 0;
}

.kt_headers {
    min-width: 0;
}

@media (max-width: 900px) {
    #bodyScroll {
        overflow: auto !important;
    }

    .kt-wrapper {
        display: none !important;
    }
}

#topbar-avatar, #topbar-avatar-mobile {
    -ms-flex-item-align: center;
    align-self: center;
    max-height: 38px;
    border-radius: 50%;
}

.flex-scroll {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    overflow-y: auto;
    height: 0;
}

.flex {
    display: flex !important;
}

.flex-content {
    flex-basis: content;
}

.btn-primary, .btn-secondary, .btn-light, .btn-brand, .btn-danger, .btn-warning, .btn-white, .btn-dark, .btn.btn-dark {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.btn.btn-light {
    border-color: var(--lightgrey);
    background-color: var(--lightgrey);
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: media-mute-button;
}

::-webkit-file-upload-button {
    font: inherit;
    -webkit-appearance: media-mute-button;
}

input[type="radio"] {
    appearance: none;
    background-color: white;
    color: currentColor;
    width: 2em;
    height: 2em;
    border: 1px solid currentColor;
    border-radius: 50%;
    display: inline-block;
    cursor: pointer;
    padding-right: 1px;
    padding-bottom: 1px;
}

    input[type="radio"]::before {
        content: "";
        width: 0em;
        height: 0em;
        border-radius: 50%;
        transition: 120ms transform ease-in-out;
        /*box-shadow: inset 1em 1em black;*/
        background-color: black;
    }

    input[type="radio"]:disabled {
        cursor: not-allowed;
    }

    input[type="radio"]:checked::before {
        content: "\f00c";
        font-family: 'FontAwesome';
        font-size: 1rem;
        color: white;
        padding-top: 0.5rem;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
        padding-bottom: 0.5rem;
        position: relative;
        left: 0%;
        top: 12%;
    }

.zero-z * {
    z-index: 0;
}

.full-z {
    z-index: 99;
}

.center-all * {
    align-items: center !important;
    justify-items: center !important;
    text-align: center !important;
    margin-top: auto !important;
    margin-bottom: auto !important;
}

div.html_info_container {
    box-shadow: 0px 0px 15px 0px rgb(0 34 68 / 25%) !important;
    border: 0.1rem solid #000000 !important;
    border-radius: 0.5rem;
}

/*div.html_info_container * {
        align-items: initial !important;
        justify-items: initial !important;
        text-align: initial !important;*/
/*margin-top: initial !important;
        margin-bottom: initial !important;*/
/*}*/

.left-all * {
    align-items: flex-start !important;
    justify-items: flex-start !important;
    text-align: left !important;
    margin-top: auto !important;
    margin-bottom: auto !important;
}


.shadow {
    box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.1) !important;
}

.text-overflow {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.text-overflow-scroll {
    white-space: nowrap;
    overflow-y: hidden;
    text-overflow: ellipsis;
    overflow-x: auto;
}

.mce-content-readonly {
    background-color: #E9EDF0;
    opacity: 0.5;
}

input.form-control {
    text-overflow: ellipsis;
    border: 1px solid #e2e5ec;
}

.form-group {
    margin-left: 1.5rem !important;
    margin-right: 1.5rem !important;
    margin-bottom: 0 !important;
}

.kt-error404-v1 {
    color: var(--title-text);
}

.kt-aside-secondary__content-head {
    white-space: nowrap;
}

.dynamic-sidebar-header {
    border: none;
    display: inline;
    overflow: hidden;
    padding: 0rem 1rem;
    white-space: nowrap;
    text-overflow: ellipsis;
}


.aside .dynamic-sidebar-header {
    max-width: 470px;
}

.aside.aside-expanded .dynamic-sidebar-header {
    max-width: calc(100vw - 120px);
}

@media (max-width: 900px) {
    .aside .dynamic-sidebar-header {
        max-width: calc(100vw - 60px);
    }

    .aside.aside-expanded .dynamic-sidebar-header {
        max-width: calc(100vw - 60px);
    }
}


#dynamic_sidebar_title {
    font-weight: 800 !important;
    font-size: 1.2rem;
}

#dynamic_sidebar_subtitle {
    font-size: 0.9rem;
}

.vis-hide {
    visibility: hidden;
}

@media(min-width: 900px) {
    .kt-hidden-desktop {
        display: none !important;
    }
}

@media(max-width: 900px) {
    .kt-hidden-mobile {
        display: none !important;
    }
}

.kt-grid,
.kt-content,
.dynamicCont,
.diagramCont,
.processMap {
    width: 100%;
    height: 100%;
}

.kt-grid__item kt-grid__item--fluid kt-aside-secondary__nav-body {
    z-index: 99;
}

.kt-aside-secondary__nav-toolbar-icon {
    position: relative;
    margin: 0;
    padding: 0;
    cursor: pointer;
    width: 75px;
    min-width: 75px;
    height: 44px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border: 0;
    outline: none !important;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

    .kt-aside-secondary__nav-toolbar-icon .btn-child {
        width: 100%;
        justify-content: center;
    }

    .kt-aside-secondary__nav-toolbar-icon .kt-nav__link-icon {
        /* Match SVG mask-size 25% × 45% on the 75×44px toolbar slot (~20px). */
        font-size: 1.25rem !important;
        width: 1.25rem !important;
        height: 1.25rem !important;
        margin-left: 0 !important;
    }

    .kt-aside-secondary__nav-toolbar-icon:hover:not(:has(svg)),
    .kt-aside-secondary__nav-toolbar-icon.active:not(:has(svg)),
    .btn.btn-secondary.btn-icon:hover:not(.btn-active):not(:has(svg)) {
        background-color: var(--primary) !important;
        color: var(--primary) !important;
    }


    .kt-aside-secondary__nav-toolbar-icon:hover:has(svg),
    .kt-aside-secondary__nav-toolbar-icon.active:has(svg),
    .btn.btn-secondary.btn-icon:hover:not(.btn-active):has(svg) {
        color: var(--primary) !important;
        background-color: transparent !important;
    }

/*.kt-aside-secondary .kt-aside-secondary__nav .kt-aside-secondary__nav-toolbar .kt-aside-secondary__nav-toolbar-item .kt-aside-secondary__nav-toolbar-icon {
    border-radius: 5%;
    -webkit-border-radius: 5%;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}*/

#toast-container > div {
    opacity: 1 !important;
}

#toast-container > .toast-success {
    background-color: var(--primary);
}

#toast-container > .toast-info {
    background-color: var(--info);
}

#toast-container > .toast-warning {
    background-color: var(--warning);
}

#toast-container > .toast-error {
    background-color: var(--danger);
}


.alert.alert-success {
    background-color: var(--primary);
}

.alert.alert-info {
    background-color: var(--info);
}

.alert.alert-warning {
    background-color: var(--warning);
}

.alert.alert-danger {
    background-color: var(--danger);
}

.add-feedback {
    position: relative;
    top: -0.5rem;
    right: 2.5rem;
}

#swal2-html-container {
    white-space: pre-line;
}

.swal2-popup {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}

    .swal2-popup .swal2-title {
        display: block !important;
    }

.swal2-actions {
    flex-direction: column;
    width: 100%;
}

    .swal2-actions.swal2-loading {
        width: auto;
        margin: 0;
    }

.swal2-styled, .swal2-popup .swal2-styled.swal2-confirm, .swal2-styled.swal2-confirm {
    background-color: var(--primary);
    width: 100%;
}

.swal2-input, .swal2-textarea {
    color: var(--text)
}

.kt-hidden, .kt-hide, .kt-hidden *, .kt-hide * {
    display: none !important;
}


.p-b {
    padding-bottom: 1rem !important;
}

.btn-min {
    min-height: 31.5px;
    max-height: 31.5px;
}

.btn-min-select {
    min-height: 37.88px;
    max-height: 37.88px;
}

.gap-c {
    column-gap: 1rem;
}

.gap-p {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}

.gap-m {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
}

.gap-m-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
}

div.html_info_container span.gap-m-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
}

.m-b {
    margin-bottom: 1rem !important;
}

div.modal .m-b {
    margin-bottom: 0 !important;
}

.abs, .absolute {
    position: absolute;
}

.rel, .relative, .rel.aside-visible {
    position: relative;
}

.mw-90 {
    max-width: 90%;
}

.mw-100 {
    max-width: 100%;
}

.w-inherit {
    width: inherit;
}

.w-min {
    width: min-content;
}

.w-card {
    width: 24% !important;
}

.w-full {
    width: 100% !important;
}

.w-100 {
    width: 100vw !important;
}

.w-half {
    width: 50% !important;
}

.h-full {
    height: 100% !important;
}

.h-100 {
    height: 100vh !important;
}

.h-half {
    height: 50% !important;
}

.j-center {
    justify-content: center;
}

.j-start {
    justify-content: flex-start;
}

.j-end {
    justify-content: flex-end;
}

.portlet-body {
    padding-left: 2rem;
    padding-right: 2rem;
    padding-bottom: 2rem;
}

.mr-0 {
    margin-right: 0 !important;
}

.ps__rail-x, .ps__rail-y {
    z-index: 99;
}

.ps__thumb-x {
    background: rgba(1, 1, 1, 0.2) !important;
    height: 8px !important;
}

.ps__thumb-y {
    background: rgba(1, 1, 1, 0.2) !important;
    width: 8px !important;
}

    .ps__thumb-x:hover, .ps__thumb-y:hover {
        background: rgba(1, 1, 1, 0.5) !important;
        cursor: grab;
    }

.kt-wrapper {
    height: 100%
}

.gsfBackground {
    border-color: #b6ec9c;
    font-size: 14px;
    margin-bottom: 11px;
}

.w-full {
    width: 100% !important;
}

.zero-width-col {
    display: none;
}

.flex-even {
    flex: 1 1 0;
}

.flex-row-rev {
    flex-direction: row-reverse;
}

.flex-col-rev {
    flex-direction: column-reverse;
}

.flex-col {
    flex-direction: column;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.flex-row {
    flex-direction: row;
}

.flex-dyn {
    flex-direction: row;
}

/* Sidebar + report body: allow the body column to shrink so DataTables horizontal extent does not widen the page and push the top bar off-screen */
.flex.flex-dyn > .w-full {
    min-width: 0;
}

.flex-wrap {
    flex-wrap: wrap
}

.flex-space {
    justify-content: space-between;
}

div.left {
    float: left;
    width: 70%;
    overflow: hidden;
    padding-top: 10px;
    position: absolute
}

div.right {
    float: right;
    width: 25%;
    overflow: auto;
    height: 100vh;
    overflow-x: hidden;
}

.border {
    border: 1px solid var(--border) !important;
}

.border-top {
    border-top: 1px solid var(--border) !important;
}

.border-right {
    border-right: 1px solid var(--border) !important;
}

.border-bottom {
    border-bottom: 1px solid var(--border) !important;
}

.border-left {
    border-left: 1px solid var(--border) !important;
}

.parallel-modal > * {
    margin-top: 10px;
    margin-bottom: 10px;
    padding: 0;
    justify-content: space-between;
}


.self-start {
    align-self: flex-start;
    min-height: 2rem;
}

.self-center, .parallel-modal > .split-layout__item > h6 {
    align-self: center;
}

preview-img {
    max-width: 150px;
}


.avatar-company {
    max-width: 40px !important;
    max-height: 30px !important;
    object-fit: contain;
    margin-right: 1rem;
}

.avatar {
    position: relative !important;
    width: 30px !important;
    height: 35px !important;
}

    .avatar, .avatar img {
        border-radius: 50% !important;
    }

small {
    line-height: 1;
}

.small {
    font-size: 0.775em;
    line-height: 1.1;
}

p {
    margin: 0;
}

div.custom-flex-item {
    min-width: 550px;
    display: inline-block;
    margin: 0 auto;
    border-radius: 12px !important;
}

@media only screen and (max-width: 537.5px) {
    div.left {
        width: 100%;
        float: none;
    }

    div.custom-flex-item {
        width: 80vw;
        min-width: 80vw;
        height: auto;
        margin: 0;
        display: block;
    }

    div.right {
        float: none;
        width: 100%;
        margin-top: 10px;
        margin-left: 10px;
        overflow: auto;
    }

    .logon-img {
        width: auto;
        height: auto;
    }
}

@media (max-width: 900px) {
    .logon-img {
        width: 450px;
        height: 120px;
    }
}

.highlight {
    background-color: yellow;
}

.pointer {
    cursor: pointer;
}

.grabrecord {
    display: flex;
    justify-content: space-between;
}

    .grabrecord:hover {
        cursor: move;
        cursor: -webkit-grab;
        cursor: grab;
    }

    .grabrecord.grabbing {
        cursor: grabbing;
        cursor: -webkit-grabbing;
    }

.p-activity {
    clear: both;
    border-top: 1px dashed #d4d4d4;
    list-style: decimal outside;
    font-weight: normal;
    color: #333
}

    .p-activity:first-child {
        border-top: none
    }

@keyframes glowing {
    0% {
        background-color: #2ba805;
        box-shadow: 0 0 5px #2ba805;
        color: #000;
    }

    50% {
        background-color: #49e819;
        box-shadow: 0 0 20px #49e819;
        color: #000;
    }

    100% {
        background-color: #2ba805;
        box-shadow: 0 0 5px #2ba805;
        color: #000;
    }
}


.btn:not(.btn-xsm):not(.btn-action) {
    white-space: nowrap;
    font-size: 1rem !important;
    font-weight: 400 !important;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.btn-wrap {
    white-space: inherit !important;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.break-word {
    word-break: break-word;
}

.ws-break {
    white-space: break-spaces;
}

.ws-prel {
    white-space: pre-line;
}

.nopad {
    padding: 0 !important;
}

.btn.btn-secondary.btn-action:focus:not(.btn-active) {
    color: #4F5D74;
    background-color: #FFF !important;
}

.btn-warning {
    color: #fff !important;
    border-color: var(--warning) !important;
    background-color: var(--warning) !important;
}

.btn-icon {
    border-radius: 50% !important;
    -webkit-border-radius: 50% !important;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.btn-dark {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.btn-glow {
    animation: glowing 1300ms infinite;
}

.btn-model-add {
    width: 315px;
    margin-left: 40px;
    margin-top: 5px;
}

.btn-model-add-sm {
    width: 150px;
    margin-left: 40px;
    margin-top: 5px;
}

.selection-container {
    position: relative;
    height: 10px;
    width: auto;
    /*for contain our absoulte select tag */
}

    .selection-container select {
        position: absolute;
        /*for put our list on other tag */
    }

.dropdown-menu {
    padding: 0.5rem 0;
    margin: 0.25rem 0;
    z-index: 999999;
}

    .dropdown-menu.dropdown-menu-md {
        width: unset;
        min-width: 260px;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
    }

.tooltip {
    z-index: 2001;
    pointer-events: none;
}

.pt-none {
    pointer-events: none;
}

.card-header {
    padding: 0.75rem;
}

.card-activity .card-body {
    padding: 0.75rem;
}

.btn-parent, .card-header:first-child {
    border-radius: 0.5rem;
}

    .btn-parent:hover:has(a[data-bs-toggle="tab"]) {
        background-color: var(--button-hover);
        border-radius: 0.5rem;
    }

.btn {
    border-radius: 0.5rem;
}

a.btn.disabled, fieldset:disabled a.btn {
    pointer-events: all !important;
    cursor: default !important;
}

/*a[tabindex="-1"]:not(.jstree-anchor):hover {
    cursor: default !important;
}*/

footer {
    position: absolute;
    left: 0;
    bottom: 0;
    height: 50px;
    width: 100%;
    padding: 20px;
}

.dropdown-item {
    display: flex;
    flex-direction: row
}

    .dropdown-item > i {
        display: flex;
        margin: 5px;
    }

    .dropdown-item:not(.chip) > span {
        display: flex;
        margin: 5px;
        text-align: right
    }

.kt-portlet__head.kt-portlet__head--lg {
    overflow: inherit;
}

.kt-form__actions {
    display: flex;
    flex-direction: row;
}

    .kt-form__actions > .kt-align-left {
        display: flex;
        width: 50%;
        align-items: flex-start;
    }

    .kt-form__actions > .kt-align-right {
        display: flex;
        width: 50%;
        align-items: flex-end;
    }

.add-separator {
    transition: all .15s ease-in-out;
}

    .add-separator:hover {
        transform: scale(1.5)
    }

.card-activity {
    min-width: unset !important;
    /*margin-top: 0.1rem !important;*/
    /*margin-bottom: 0.1rem !important;
    margin-left: auto;
    margin-right: auto;
    max-width: 70% !important;*/
}

.card-activity__map {
    max-width: 75% !important;
}

.kt-portlet__divider {
    margin-bottom: -20px !important;
    margin-top: -20px !important;
    background-color: transparent;
}

.card-activity_preview {
    padding: 10px;
}

/*.modal.show{
    display: flex !important;
}*/

.modal-footer > i {
    margin: 1rem;
}

.toast-top-center {
    top: 80px;
}

.loading {
    /*font-size: 30px;*/
}

.va-b {
    vertical-align: bottom;
}

.loading:after {
    overflow: hidden;
    display: inline-block;
    vertical-align: bottom;
    -webkit-animation: ellipsis steps(4,end) 900ms infinite;
    animation: ellipsis steps(4,end) 900ms infinite;
    content: "\2026"; /* ascii code for the ellipsis character */
    width: 0px;
}

@keyframes ellipsis {
    to {
        width: 1.25em;
    }
}

@-webkit-keyframes ellipsis {
    to {
        width: 1.25em;
    }
}

textarea.task-inputs {
    overflow: hidden;
}

textarea {
    min-height: 50px;
    height: auto;
}

    textarea.fixed {
        overflow-y: auto;
        resize: none;
    }

.ezy-disabled {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
    color: black;
}

.pulse {
    position: relative;
}

    .pulse .pulse-ring {
        display: block;
        border-radius: 40px;
        height: 40px;
        width: 40px;
        position: absolute;
        -webkit-animation: animation-pulse 3.5s ease-out;
        animation: animation-pulse 3.5s ease-out;
        -webkit-animation-iteration-count: infinite;
        animation-iteration-count: infinite;
        opacity: 0;
        border-width: 3px;
        border-style: solid;
        border-color: #E4E6EF;
    }

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .pulse .pulse-ring {
        top: 2px;
        left: 2px;
    }
}

.pulse.pulse-primary .pulse-ring {
    border-color: rgba(54, 153, 255, 0.75);
}

.pulse.pulse-secondary .pulse-ring {
    border-color: rgba(228, 230, 239, 0.75);
}

.pulse.pulse-success .pulse-ring {
    border-color: rgba(27, 197, 189, 0.75);
}

.pulse.pulse-info .pulse-ring {
    border-color: rgba(54, 153, 255, 0.75);
}

.pulse.pulse-warning .pulse-ring {
    border-color: rgba(255, 168, 0, 0.75);
}

.pulse.pulse-danger .pulse-ring {
    border-color: rgba(246, 78, 96, 0.75);
}

.pulse.pulse-light .pulse-ring {
    border-color: rgba(243, 246, 249, 0.75);
}

.pulse.pulse-dark .pulse-ring {
    border-color: rgba(24, 28, 50, 0.75);
}

.pulse.pulse-white .pulse-ring {
    border-color: rgba(255, 255, 255, 0.75);
}


.unavailable::after {
    font-family: 'FontAwesome';
    content: '\f023';
    color: #D179F9;
    font-size: 16px;
}

.available::after {
    font-family: 'FontAwesome';
    content: '\f09c';
    color: #D179F9;
    font-size: 16px;
}

.kt-padding-r-500 {
    padding-right: 500px !important;
}

.radio-success > span {
    border: 1px solid transparent
}

.radio-success > input:focus ~ span {
    border: 1px solid transparent
}

.radio-success > input:checked ~ span {
    background-color: #1bc5bd !important
}

    .radio-success > input:checked ~ span:after {
        background-color: #fff;
        border-color: #fff
    }

.radio-custom {
    text-align: left !important;
    min-width: 2rem;
}

.checkbox-light-success > span {
    background-color: #c9f7f5;
    border: 1px solid transparent
}

.checkbox-light-success > input:focus ~ span {
    border: 1px solid transparent
}

.checkbox-light-success > input:checked ~ span {
    background-color: #1bc5bd
}

    .checkbox-light-success > input:checked ~ span:after {
        border-color: #fff
    }

.radio-outline.radio-success > span {
    background-color: transparent;
    border-color: #d1d3e0
}

.radio-outline.radio-success > input:focus ~ span {
    background-color: transparent;
    border-color: #d1d3e0
}

.radio-outline.radio-success > input:checked ~ span {
    background-color: transparent;
    border-color: #1bc5bd
}

    .radio-outline.radio-success > input:checked ~ span:after {
        background-color: #1bc5bd;
        border-color: #1bc5bd
    }

.p-0 {
    padding: 0rem !important;
}

.p-1 {
    padding: 1rem !important;
}

.p-sm {
    padding: 0.5rem !important;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.p-xsm {
    padding: 0.25rem !important;
}

.m-xsm {
    margin: 0.25rem !important;
}

.m-sm {
    margin: 0.5rem !important;
}

.m-1 {
    margin: 1rem !important;
}

.w-0, .w-0 * {
    width: 0px !important;
    padding: 0px !important;
    display: none;
}

.w-1 {
    width: 1rem;
}

.w-auto {
    width: auto !important;
}

.dt-body-nowrap {
    white-space: nowrap;
}

.d-inline {
    display: inline !important;
}

.gojs-menu {
    display: none;
    position: absolute;
    opacity: 0;
    margin: 0;
    padding: 8px 0;
    z-index: 999;
    box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12);
    list-style: none;
    background-color: #ffffff;
    border-radius: 4px;
}

.gojs-menu-item,
.gojs-menu-item-delete {
    display: block;
    position: relative;
    min-width: 180px;
    margin: 0;
    padding: 6px 12px;
    font: bold 12px sans-serif;
    color: rgba(0, 0, 0, .87);
    cursor: pointer;
}

    .gojs-menu-item::before {
        position: absolute;
        top: 0;
        left: 0;
        opacity: 0;
        pointer-events: none;
        content: "";
        width: 100%;
        height: 100%;
        background-color: #000000;
    }

    .gojs-menu-item:hover::before {
        opacity: .04;
    }

.gojs-menu .gojs-menu {
    top: -8px;
    left: 100%;
}

/* Nested Edit → Edit Details / Edit Title: flex row so icon + label align (overrides display:block on .gojs-menu-item). */
.gojs-menu .gojs-menu > .gojs-menu-item {
    display: flex !important;
    align-items: center;
    column-gap: 0.5rem;
}

/* Beats nested-submenu flex rule; inline display:none alone does not hide nested #contextMenu items. */
#contextMenu li.gojs-menu-item.ezym-process-map-menu-hidden {
    display: none !important;
    max-height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
    pointer-events: none !important;
    opacity: 0 !important;
}

.gojs-menu-item, .gojs-menu-item-delete {
    text-align: left !important;
}

    .show-menu, .gojs-menu-item:hover > .gojs-menu {
        display: block;
        opacity: 1;
    }

    .gojs-menu-item-delete:hover {
        display: block;
        opacity: 1;
        background-color: red;
        color: #fff;
    }

.result {
    border: 1px solid #888;
    background: #f7f7f7;
    padding: 1em;
    margin-bottom: 1em;
}

tr.odd td.details-control {
    text-align: center;
    color: forestgreen;
    cursor: pointer;
}

tr.even td.details-control {
    text-align: center;
    color: forestgreen;
    cursor: pointer;
}


tr.shown td.details-control {
    text-align: center;
    color: red;
}

.btn-lightglow {
    border-color: #9ecaed;
    box-shadow: 0 0 10px #9ecaed;
}

.modal-backdrop {
    background-color: transparent;
    z-index: 0;
}

.companycontrolled {
    background-color: antiquewhite;
    padding-top: 10px;
    padding-bottom: 10px;
}

.image-input {
    position: relative;
    display: inline-block;
    border-radius: .75rem;
    background-repeat: no-repeat;
    background-size: cover
}

    .image-input .image-input-wrapper {
        width: 240px;
        height: 62px;
        border-radius: .75rem;
        background-repeat: no-repeat;
        background-size: cover
    }

    .image-input [data-action=change] {
        cursor: pointer;
        position: absolute;
        right: -10px;
        top: -10px
    }

        .image-input [data-action=change] input {
            width: 0 !important;
            height: 0 !important;
            overflow: hidden;
            opacity: 0
        }

    .image-input [data-action=cancel], .image-input [data-action=remove] {
        cursor: pointer;
        position: absolute;
        right: -10px;
        bottom: -5px
    }

    .image-input [data-action=cancel] {
        display: none
    }

    .image-input.image-input-changed [data-action=cancel] {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    .image-input.image-input-changed [data-action=remove] {
        display: none
    }

    .image-input.image-input-empty [data-action=cancel],
    .image-input.image-input-empty [data-action=remove] {
        display: none
    }

    .image-input.image-input-circle {
        border-radius: 50%
    }

        .image-input.image-input-circle .image-input-wrapper {
            border-radius: 50%
        }

        .image-input.image-input-circle [data-action=change] {
            right: 5px;
            top: 5px
        }

        .image-input.image-input-circle [data-action=cancel],
        .image-input.image-input-circle [data-action=remove] {
            right: 5px;
            bottom: 5px
        }

    .image-input.image-input-outline .image-input-wrapper {
        /*border: 3px solid #fff;*/
        -webkit-box-shadow: 0 .5rem 1.5rem .5rem rgba(0,0,0,.075);
        box-shadow: 0 .5rem 1.5rem .5rem rgba(0,0,0,.075)
    }



.btn.btn-white {
    color: #3f4254;
    background-color: #fff;
    border-color: #A5ACAF
}

    .btn.btn-white i {
        color: #3f4254
    }

    .btn.btn-white:hover, .btn.btn-metal:hover {
        background-color: var(--primary) !important;
    }

@media(min-width:900px) {

    .btn.btn-white:hover, .btn.btn-metal:hover {
        background-color: var(--primary) !important;
    }
}

.btn.btn-white .svg-icon svg g [fill] {
    -webkit-transition: fill .3s ease;
    transition: fill .3s ease;
    fill: #3f4254
}

.btn.btn-white .svg-icon svg:hover g [fill] {
    -webkit-transition: fill .3s ease;
    transition: fill .3s ease
}

.btn.btn-white.dropdown-toggle:after {
    color: #3f4254
}

.btn.btn-white.focus:not(.btn-text),
.btn.btn-white:focus:not(.btn-text),
.btn.btn-white:hover:not(.btn-text):not(:disabled):not(.disabled) {
    color: #3f4254;
    background-color: #f3f6f9;
    border-color: #f3f6f9
}

    .btn.btn-white.focus:not(.btn-text) i,
    .btn.btn-white:focus:not(.btn-text) i,
    .btn.btn-white:hover:not(.btn-text):not(:disabled):not(.disabled) i {
        color: #3f4254
    }

    .btn.btn-white.focus:not(.btn-text) .svg-icon svg g [fill],
    .btn.btn-white:focus:not(.btn-text) .svg-icon svg g [fill],
    .btn.btn-white:hover:not(.btn-text):not(:disabled):not(.disabled) .svg-icon svg g [fill] {
        -webkit-transition: fill .3s ease;
        transition: fill .3s ease;
        fill: #3f4254
    }

    .btn.btn-white.focus:not(.btn-text) .svg-icon svg:hover g [fill],
    .btn.btn-white:focus:not(.btn-text) .svg-icon svg:hover g [fill],
    .btn.btn-white:hover:not(.btn-text):not(:disabled):not(.disabled) .svg-icon svg:hover g [fill] {
        -webkit-transition: fill .3s ease;
        transition: fill .3s ease
    }

    .btn.btn-white.focus:not(.btn-text).dropdown-toggle:after,
    .btn.btn-white:focus:not(.btn-text).dropdown-toggle:after,
    .btn.btn-white:hover:not(.btn-text):not(:disabled):not(.disabled).dropdown-toggle:after {
        color: #3f4254
    }

.btn.btn-white.disabled,
.btn.btn-white:disabled {
    color: #3f4254;
    background-color: #fff;
    border-color: #fff
}

    .btn.btn-white.disabled i,
    .btn.btn-white:disabled i {
        color: #3f4254
    }

    .btn.btn-white.disabled .svg-icon svg g [fill],
    .btn.btn-white:disabled .svg-icon svg g [fill] {
        -webkit-transition: fill .3s ease;
        transition: fill .3s ease;
        fill: #3f4254
    }

    .btn.btn-white.disabled .svg-icon svg:hover g [fill],
    .btn.btn-white:disabled .svg-icon svg:hover g [fill] {
        -webkit-transition: fill .3s ease;
        transition: fill .3s ease
    }

    .btn.btn-white.disabled.dropdown-toggle:after,
    .btn.btn-white:disabled.dropdown-toggle:after {
        color: #3f4254
    }

.btn.btn-white:not(:disabled):not(.disabled).active,
.btn.btn-white:not(:disabled):not(.disabled):active:not(.btn-text),
.show .btn.btn-white.btn-dropdown,
.show > .btn.btn-white.dropdown-toggle {
    color: #3f4254;
    background-color: #f3f6f9;
    border-color: #f3f6f9
}

    .btn.btn-white:not(:disabled):not(.disabled).active i,
    .btn.btn-white:not(:disabled):not(.disabled):active:not(.btn-text) i,
    .show .btn.btn-white.btn-dropdown i,
    .show > .btn.btn-white.dropdown-toggle i {
        color: #3f4254
    }

    .btn.btn-white:not(:disabled):not(.disabled).active .svg-icon svg g [fill],
    .btn.btn-white:not(:disabled):not(.disabled):active:not(.btn-text) .svg-icon svg g [fill],
    .show .btn.btn-white.btn-dropdown .svg-icon svg g [fill],
    .show > .btn.btn-white.dropdown-toggle .svg-icon svg g [fill] {
        -webkit-transition: fill .3s ease;
        transition: fill .3s ease;
        fill: #3f4254
    }

    .btn.btn-white:not(:disabled):not(.disabled).active .svg-icon svg:hover g [fill],
    .btn.btn-white:not(:disabled):not(.disabled):active:not(.btn-text) .svg-icon svg:hover g [fill],
    .show .btn.btn-white.btn-dropdown .svg-icon svg:hover g [fill],
    .show > .btn.btn-white.dropdown-toggle .svg-icon svg:hover g [fill] {
        -webkit-transition: fill .3s ease;
        transition: fill .3s ease
    }

    .btn.btn-white:not(:disabled):not(.disabled).active.dropdown-toggle:after,
    .btn.btn-white:not(:disabled):not(.disabled):active:not(.btn-text).dropdown-toggle:after,
    .show .btn.btn-white.btn-dropdown.dropdown-toggle:after,
    .show > .btn.btn-white.dropdown-toggle.dropdown-toggle:after {
        color: #3f4254
    }

btn-white.btn-shadow {
    -webkit-box-shadow: 0 9px 16px 0 rgba(24,28,50,.25) !important;
    box-shadow: 0 9px 16px 0 rgba(24,28,50,.25) !important
}

.btn.btn-white.btn-shadow.focus:not(.btn-text),
.btn.btn-white.btn-shadow:focus:not(.btn-text),
.btn.btn-white.btn-shadow:hover:not(.btn-text):not(:disabled):not(.disabled) {
    -webkit-box-shadow: 0 9px 16px 0 rgba(24,28,50,.3) !important;
    box-shadow: 0 9px 16px 0 rgba(24,28,50,.3) !important
}

.btn.btn-white.btn-shadow:not(:disabled):not(.disabled).active,
.btn.btn-white.btn-shadow:not(:disabled):not(.disabled):active:not(.btn-text),
.show > .btn.btn-white.btn-shadow.dropdown-toggle {
    -webkit-box-shadow: 0 9px 16px 0 rgba(24,28,50,.3) !important;
    box-shadow: 0 9px 16px 0 rgba(24,28,50,.3) !important
}

.btn.btn-white.btn-shadow-hover.focus:not(.btn-text),
.btn.btn-white.btn-shadow-hover:focus:not(.btn-text),
.btn.btn-white.btn-shadow-hover:hover:not(.btn-text):not(:disabled):not(.disabled) {
    -webkit-box-shadow: 0 9px 16px 0 rgba(24,28,50,.3) !important;
    box-shadow: 0 9px 16px 0 rgba(24,28,50,.3) !important;
}

.btn.btn-white.btn-shadow-hover:not(:disabled):not(.disabled).active,
.btn.btn-white.btn-shadow-hover:not(:disabled):not(.disabled):active:not(.btn-text),
.show > .btn.btn-white.btn-shadow-hover.dropdown-toggle {
    -webkit-box-shadow: 0 9px 16px 0 rgba(24,28,50,.3) !important;
    box-shadow: 0 9px 16px 0 rgba(24,28,50,.3) !important
}

.kt-portlet__grabhandle,
.kt-portlet__grabhandle a,
.sortable_task__grabhandle,
.sortable_task__grabhandle a {
    width: 100%;
    cursor: grab;
}

.kt-separator.kt-separator--border-solid {
    margin-top: 1em;
    margin-bottom: 1em;
}

.radio-inline, .radio-item {
    display: flex;
}

.radio-item {
    width: 100%;
}

.icon-select {
    font-family: 'Font Awesome 5 Free'
}

.icon-prefix {
    display: flex;
    width: 3rem;
    justify-content: center
}

.aside-icon {
    font-size: 1.75rem
}

.grid {
    display: grid !important;
}

.kt-grid.kt-grid--hor:not(.kt-grid--desktop):not(.kt-grid--desktop-and-tablet):not(.kt-grid--tablet):not(.kt-grid--tablet-and-mobile):not(.kt-grid--mobile) {
    z-index: 96;
}

.kt-subheader {
    padding: 0px !important;
}

    .kt-subheader .btn {
        margin: 0;
    }

.kt-content {
    padding: 10px;
}

.dynamicDiagram {
    background-color: var(--map-background);
}

.dynamicDiagram {
    height: unset;
    width: unset;
    position: fixed !important;
    -ms-overflow-style: none;
    overflow: hidden;
}

    .dynamicDiagram > canvas {
        outline: 0;
    }

.dynamicOverview {
    position: absolute;
    bottom: 0;
    width: 250px;
    height: 250px;
    background: rgba(1,1,1,0.1);
}

@media (min-width: 1025px) {
    .kt-header {
        z-index: unset;
    }
}

* {
    scrollbar-width: thin;
    scrollbar-color: rgba(1, 1, 1, 0.2) transparent;
}

::-webkit-scrollbar {
    width: 16px;
    background-color: transparent;
}

/* Track */
::-webkit-scrollbar-track {
    display: none;
}

*::before::-webkit-scrollbar-thumb {
    position: sticky;
    display: block;
}

/* Handle */
::-webkit-scrollbar-thumb {
    background-color: rgba(1, 1, 1, 0.2) !important;
    border-radius: 60px;
    transition: background-color .2s linear, width .2s ease-in-out;
    -webkit-transition: background-color .2s linear, width .2s ease-in-out;
    background-clip: padding-box;
    border: 4px solid rgba(0, 0, 0, 0);
}

    ::-webkit-scrollbar-thumb:hover {
        background-color: rgba(1, 1, 1, 0.5) !important;
        cursor: grab;
    }

::-webkit-scrollbar-corner {
    background: rgba(0,0,0,0);
}


.chip-search-icon {
    position: absolute;
    z-index: 10;
    top: 12px;
    left: 12px;
    font-size: 1.2rem;
}

.select2-icon {
    width: 39px;
    height: 39px;
    background-color: white;
    border-radius: 99rem;
    padding: 0.4rem;
}

input.select2-search__field {
    width: 100% !important;
}

.select2-selection__clear {
    font-size: 1.6rem;
    position: absolute !important;
    top: 4px;
}

    .select2-selection__clear + * {
        margin-left: 1.2rem;
    }

[id*=icon_picker] + span .select2-selection__clear {
    margin-top: 5px;
}

.select2-container {
    text-align: start !important;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    /*width: -webkit-fill-available;*/
}

.select2-container--ezymapps .select2-selection--single[aria-disabled=true] {
    color: black !important;
    background-color: #E9EDF0 !important;
    opacity: 0.5;
    border: 1px solid var(--border);
}

.select2-container--ezymapps.select2-container--disabled
.select2-selection--single .select2-selection__rendered {
    color: #000 !important;
}

.select2-container--ezymapps .select2-selection--single:focus[aria-disabled=true] {
    border: 1px solid var(--border);
}

.chip-search .select2-container--ezymapps .select2-selection--multiple .select2-selection__rendered {
    padding-left: 2.5rem !important;
    display: flex;
}

/*.select2-container--ezymapps .select2-selection--single .select2-selection__placeholder
Specificity: (0,3,0) {
    color: #999;
}*/

.select2-container .select2-results__option[aria-disabled=true] {
    display: none;
}

[data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"]:not(.aside-hoverable):hover .collapse-hide .select2-container,
[data-pro-sidebar-start-minimize=on] .aside.aside-primary:not(.aside-hoverable):hover .collapse-hide .select2-container,
[data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"]:not(.aside-hoverable):hover .collapse-hide .select2-container,
[data-pro-sidebar-end-minimize=on] .aside.aside-secondary:not(.aside-hoverable):hover .collapse-hide .select2-container {
    display: none !important;
}

@media(min-width: 900px) {
    [data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"]:not(:hover) .collapse-hide .select2-container,
    [data-pro-sidebar-start-minimize=on] .aside.aside-primary:not(:hover) .collapse-hide .select2-container,
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"]:not(:hover) .collapse-hide .select2-container,
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary:not(:hover) .collapse-hide .select2-container {
        display: none !important;
        opacity: 0;
        transition: opacity .3s ease;
    }
}

@media(max-width: 900px) {
    [data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"] .collapse-hide .select2-container,
    [data-pro-sidebar-start-minimize=on] .aside.aside-primary .collapse-hide .select2-container,
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"] .collapse-hide .select2-container,
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary .collapse-hide .select2-container {
        display: none !important;
        opacity: 0;
        transition: opacity .3s ease;
    }
}

.chip {
    background-color: rgba(90,90,90, 0.5);
    margin: 0;
    display: inline-flex;
    -webkit-box-pack: center;
    justify-content: flex-start;
    -webkit-box-align: center;
    align-items: center;
    font-size: 0.8rem;
    width: min-content;
    max-width: 100%;
    padding: 0.5rem 0.5rem;
    border-radius: 0.25rem;
}

.dropdown-item.chip {
    min-width: min-content;
}

.chip-icon {
    background-color: rgba(90,90,90, 1);
    padding: 0.5rem 0.5rem;
}

.chip-hover {
    cursor: grab;
}

.chip-group {
    align-items: flex-start !important;
    gap: 0.5rem;
    padding: 0.5rem;
    min-width: 0rem;
}

.chip-scroll {
    max-width: 25rem;
    max-height: 20rem;
    overflow-y: auto;
    /*overflow-x: hidden;*/
    overflow-x: auto;
}

.aside .chip-scroll {
    max-width: 27rem;
}

.aside-expanded .chip-scroll {
    max-width: 75vw;
}

.chip-mw {
    max-width: 25rem;
}

.chip-color {
    height: 28px;
    width: 70px;
    border-radius: 0.6rem;
}


.justify-center {
    justify-content: center;
}

.justify-between {
    justify-content: space-between
}

.align-center {
    align-items: center !important;
}

.align-start {
    align-items: flex-start !important;
}

.align-end {
    align-items: flex-end !important;
}

.align-initial {
    align-items: initial !important;
}

.kt-portlet__body .card-number {
    font-size: 4rem;
    font-weight: 600;
    color: #002244;
}


.banner-text__dark {
    font-size: 14px;
    color: rgb(255, 255, 255, 0.87);
    font-weight: 400;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-left: 10px;
}

.banner-text__light {
    font-size: 14px;
    color: rgb(79, 93, 116, 1);
    font-weight: 400;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-left: 10px;
}

.banner-error {
    background-color: rgb(255, 138, 138, 0.5);
}

.banner-warning {
    background-color: rgb(255, 232, 88, 0.5);
}

.modal-open .container-fluid, .modal-open .container {
    -webkit-filter: blur(5px) grayscale(90%);
}

.kt-portlet {
    margin-bottom: 0px;
    border-radius: 0.3rem;
}

.kt-portlet__head {
    background-color: #f2f3f8 !important;
}

.modal-dialog {
    margin: 0px;
    max-width: min-content;
    position: fixed !important;
}

.modal-content {
    box-shadow: 0px 0px 13px 0px rgb(0 34 68 / 25%) !important;
    border: 1px solid var(--grey) !important;
    max-width: 90vw;
}

.flow-x {
    overflow-x: auto;
}

.flow-y {
    overflow-y: auto;
}

.scroll-container, #act-expand-container, #note-expand-container {
    overflow-y: auto;
    overflow-x: hidden;
    padding-left: 1px;
}

/* Profile: scroll form fields above; keep Save row visible at bottom of portlet (see display.js scroll-container--fills-above-footer) */
#kt_profile_tab_personal_information .profile-portlet-form {
    display: flex;
    flex-direction: column;
    min-height: 0;
    max-height: calc(100vh - 100px);
}

    #kt_profile_tab_personal_information .profile-portlet-form > .scroll-container--fills-above-footer {
        flex: 1 1 auto;
        min-height: 0;
    }

#kt_profile_tab_personal_information .profile-portlet-footer {
    flex-shrink: 0;
}

#act-expand-container, #note-expand-container {
    min-width: 411.5px;
    max-width: 411.5px;
}

.overflow-inherit {
    overflow: inherit;
}

.overflow-scroll {
    overflow: scroll;
}

.preview-container {
    overflow: auto;
}

.top-rounded {
    border-top-left-radius: 0.3rem;
    border-top-right-radius: 0.3rem;
}

.bottom-rounded {
    border-bottom-left-radius: 0.3rem;
    border-bottom-right-radius: 0.3rem;
}

.feedback-bubble {
    border-bottom-right-radius: 1rem;
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem;
}

.comment-bubble {
    border-bottom-right-radius: 1rem;
    border-bottom-left-radius: 1rem;
    border-top-right-radius: 1rem;
}

.kt-badge {
    padding-top: 2px;
}

    .kt-badge.kt-badge--danger {
        color: #FEFFFF;
        font-weight: 600;
        font-size: 10px;
        background: #FF8A8A;
    }

.kt-portlet__nav-body {
    background-color: transparent !important;
    padding-right: 20px;
    padding-left: 20px;
}

.pad-left-35 {
    padding-left: 35px;
}

.kt-switch input:checked ~ span:after {
    background-color: #fff;
    /*color: var(--primary);*/
}

.kt-switch input:empty ~ span:before {
    background-color: rgba(79,93,116,0.4);
}

.future-icon:hover {
    background-color: var(--primary) !important;
}

.fav-icon {
    font-size: 1.2rem;
    color: white;
    -webkit-text-fill-color: white;
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: #002244;
}

    .fav-icon:hover {
        -webkit-text-fill-color: #002244;
        -webkit-text-stroke-width: 1px;
        -webkit-text-stroke-color: #002244;
    }

.fav-icon-enabled {
    font-size: 1.2rem;
    color: #002244;
    -webkit-text-fill-color: #002244;
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: #002244;
}

    .fav-icon-enabled:hover {
        -webkit-text-fill-color: white;
        -webkit-text-stroke-width: 1px;
        -webkit-text-stroke-color: #002244;
    }


.jstree-contextmenu {
    z-index: 99;
}

.select2-selection__rendered {
    min-width: 200px;
    text-align: start !important;
}

.select2-container--ezymapps .select2-selection--single .select2-selection__rendered {
    min-height: 37.88px;
    max-height: 38px;
    white-space: nowrap !important;
    overflow: hidden;
    text-overflow: ellipsis;
    display: flex;
    align-items: center;
}

.select2-container--ezymapps .select2-selection--multiple .select2-selection__rendered {
    min-height: 37.88px;
    white-space: normal;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
}

select.company-selector + .select2-container--ezymapps .select2-selection--single,
select.company-selector + .select2-container--ezymapps .select2-selection--single .select2-selection__rendered {
    min-height: 40px;
}

select.company-selector + .select2-container--ezymapps .select2-selection--single .select2-selection__rendered {
    max-height: none;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

select.company-selector + .select2-container--ezymapps .select2-selection--single .select2-selection__rendered > .flex {
    min-width: 0;
    width: 100%;
    overflow: hidden;
}

select.company-selector + .select2-container--ezymapps .select2-selection--single .select2-selection__rendered .text-overflow {
    flex: 1 1 auto;
    min-width: 0;
}

select.report-filter-select-list + .select2-container--ezymapps .select2-selection--multiple:not(:has(.select2-selection__choice)),
select.report-filter-select-list + .select2-container--ezymapps .select2-selection--single {
    min-height: 37.88px;
    max-height: 38px;
}

select.report-filter-select-list + .select2-container--ezymapps .select2-selection--multiple .select2-selection__rendered,
select.report-filter-select-list + .select2-container--ezymapps .select2-selection--single .select2-selection__rendered {
    min-height: 37.88px;
    max-height: 38px;
    overflow: hidden;
}

select.report-filter-select-list + .select2-container--ezymapps .select2-selection--multiple .select2-selection__rendered:has(.select2-selection__choice) {
    max-height: none;
    overflow-y: auto;
}

.kt-nav {
    display: block;
    padding: 0;
    margin: 0;
    list-style: none;
    border: 0;
}

    .kt-nav .kt-nav__item > .kt-nav__link .kt-nav__link-text {
        color: var(--title-text);
        font-weight: 400;
        font-size: 15px;
        text-align: left !important;
    }

    .kt-nav.kt-nav--v3 .kt-nav__item .kt-nav__link {
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
        padding-top: 1rem;
        padding-bottom: 1rem;
        border-left: 2px solid transparent;
    }

        .kt-nav.kt-nav--v3 .kt-nav__item .kt-nav__link,
        .kt-nav.kt-nav--v3 .kt-nav__item .kt-nav__link.kt-nav__link {
            -webkit-transition: all 0.3s;
            transition: all 0.3s;
            border-radius: 0.6rem;
            background-color: var(--text-secondary);
        }

            .kt-nav.kt-nav--v3 .kt-nav__item .kt-nav__link.active,
            .kt-nav.kt-nav--v3 .kt-nav__item .kt-nav__link.kt-nav__link--active {
                -webkit-transition: all 0.3s;
                transition: all 0.3s;
                border-radius: 0.6rem;
                border-right: 6px solid var(--primary);
                border-left: 0 !important;
                background-color: var(--text-secondary);
            }

                .kt-nav.kt-nav--v3 .kt-nav__item .kt-nav__link.active .kt-nav__link-text,
                .kt-nav.kt-nav--v3 .kt-nav__item .kt-nav__link.kt-nav__link--active .kt-nav__link-text {
                    color: #002244;
                    font-weight: 600 !important;
                }

    .kt-nav.kt-nav--v3 .kt-nav__item:hover .kt-nav__link:hover .kt-nav__link-text:hover {
        color: #002244;
    }

    .kt-nav .kt-nav__item.kt-nav__item--active > .kt-nav__link .kt-nav__link-icon,
    .kt-nav .kt-nav__item.kt-nav__item--active > .kt-nav__link .kt-nav__link-text,
    .kt-nav .kt-nav__item.kt-nav__item--active > .kt-nav__link .kt-nav__link-arrow,
    .kt-nav .kt-nav__item:hover:not(.kt-nav__item--disabled):not(.kt-nav__item--sub) > .kt-nav__link .kt-nav__link-icon,
    .kt-nav .kt-nav__item:hover:not(.kt-nav__item--disabled):not(.kt-nav__item--sub) > .kt-nav__link .kt-nav__link-text,
    .kt-nav .kt-nav__item:hover:not(.kt-nav__item--disabled):not(.kt-nav__item--sub) > .kt-nav__link .kt-nav__link-arrow {
        color: inherit;
    }

    .kt-nav .kt-nav__separator {
        margin: 0.35rem 0 0.35rem 0;
        height: 0;
        display: block;
    }

@media (min-width: 1399px) {
    .col-xl-2 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }

    .col-xl-10 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 75%;
        flex: 0 0 75%;
        max-width: 75%;
    }
}

@media (min-width: 1800px) {
    .col-xl-2 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 20%;
        flex: 0 0 20%;
        max-width: 20%;
    }

    .col-xl-10 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 80%;
        flex: 0 0 80%;
        max-width: 80%;
    }
}


.collapse:not(.show) {
    display: none !important;
}

.mf-right {
    align-items: center;
}

.text-left {
    text-align: left !important;
}

.text-start {
    text-align: start !important;
}

.text-end {
    text-align: end !important;
}

.btn-icon.btn-md {
    height: 2rem !important;
    width: 2rem !important;
}

.btn-md {
    font-size: 13px !important;
    padding: 0rem 0rem;
}

.btn-icon.btn-sm {
    height: 1.5rem !important;
    width: 1.5rem !important;
}

.add-separator.btn-sm.btn-icon .kt-nav__link-icon {
    font-size: 1rem;
    line-height: 1;
}

.btn-icon.btn-xsm {
    height: 1.2rem !important;
    width: 1.2rem !important;
    padding: 0 !important;
}

/* Task/activity number badges: label-only icon buttons must not clip the letter/number. */
.btn.btn-brand.btn-icon.btn-xsm:not(:has(svg)) .btn-child > span {
    width: auto;
    color: #fff;
    font-size: 0.675rem;
    line-height: 1;
}

.btn.btn-icon.btn-brand:hover i {
    color: var(--primary) !important;
}

.btn-brand:not(:disabled):not(.disabled).active {
    background-color: var(--secondary);
}


.modal-header {
    /*margin-bottom: 1rem;*/
}

.kt-nav .kt-nav__header-wrapper {
    background-color: transparent;
    margin-left: auto;
    padding-left: 10px;
    padding-bottom: 10px;
}

.kt-nav .kt-nav__header {
    color: var(--title-text);
    font-weight: 600;
    font-size: 12px;
    opacity: 0.75;
}

.kt-radio.kt-radio--success > span:after {
    border: solid var(--primary);
    background: var(--primary);
}

.kt-radio.kt-radio--success > span {
    border: 1px solid var(--primary);
}

.kt-radio.kt-radio--success.kt-radio--bold > input:checked ~ span {
    border: 2px solid var(--primary);
}

.kt-head__title {
    font-size: 42px;
    font-weight: 600;
    color: #344563;
}

.kt-head__phrase {
    font-size: 60px;
    font-weight: 700;
    color: #002244;
    text-align: center;
}

.kt-login-v2__container {
    background-color: transparent !important;
    text-align: center;
}

.kt-login-v2__wrapper {
    background-color: #F5F8F4 !important;
    width: 100% !important;
    justify-content: center !important;
}

.btn-parent:hover, a[href="#"][data-bs-toggle=""]:not([onclick]):hover, a[href="#"][data-bs-toggle=""]:not([onclick]) i:hover {
    cursor: default !important;
}

.btn.btn-icon i {
    font-size: 1rem;
}

.btn-mask {
    -webkit-mask-size: 60% 60%;
    mask-size: 60% 60%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: var(--secondary);
}

.f16 {
    font-size: 16px !important;
}

/*.noteTypeSelect {
    min-width: 2rem;
}*/

.input-group-text {
    padding: 0rem 1rem;
}

.kt-head__phrase {
    font-size: 60px;
}

.login-image {
    max-height: 600px;
}

@media (max-width: 2048px) {
    .kt-head__phrase {
        font-size: 30px;
    }

    .login-image {
        max-height: 400px;
    }
}

@media (max-width: 1442px) {
    .kt-head__phrase {
        font-size: 24px;
    }

    .login-image {
        max-height: 350px;
    }
}

@media (max-width: 900px) {
    .kt-head__phrase {
        font-size: 20px;
    }

    .login-image {
        max-height: 320px;
    }
}

@media (max-width: 768px) {
    .kt-head__phrase {
        font-size: 18px;
    }

    .login-image {
        max-height: 300px;
    }
}

ul[aria-multiselectable="true"] .select2-results__option[aria-selected=true] {
    display: none;
}

.select2-container--ezymapps .select2-selection--multiple[aria-disabled=true] .select2-selection__choice__remove {
    display: none;
}

select:disabled {
    -webkit-appearance: none;
    -moz-appearance: none;
    text-indent: 1px;
    text-overflow: '';
}

.center-cropped {
    width: 190px;
    height: 50px;
    background-position: center center;
    background-repeat: no-repeat;
}

.kt-aside-secondary .kt-aside-secondary__nav .kt-aside-secondary__nav-toolbar .kt-aside-secondary__nav-toolbar-item {
    margin: 0 0 0.25rem 0;
}

.kt-aside-secondary .kt-aside-secondary__nav {
    z-index: 99;
}

.font-1 {
    font-size: 1rem;
}

.prominent {
    font-size: 1rem;
    font-weight: 600;
}

#jstree-marker {
    z-index: 10103 !important;
}

/*.kt-switch.kt-switch--brand:not(.kt-switch--outline) input:empty ~ span:before {
    background-color: var(--grey);
}*/

.text-success {
    color: var(--primary) !important;
}

.text-warning {
    color: var(--warning) !important;
}

.text-info {
    color: var(--info) !important;
}

.text-danger {
    color: var(--danger) !important;
}

.b-success {
    background-color: var(--success) !important;
}

.b-info {
    background-color: var(--info) !important;
}

.b-warning {
    background-color: var(--warning) !important;
}

.b-danger {
    background-color: var(--danger) !important;
}

.b-trans {
    background-color: transparent !important;
}

.text-white {
    color: white !important;
}

.text-default {
    color: black !important;
}

.kt-padding-t-2 {
    padding-top: 2px !important;
}

.kt-padding-t-3 {
    padding-top: 3px !important;
}

.kt-padding-t-4 {
    padding-top: 4px !important;
}

.kt-padding-t-6 {
    padding-top: 6px !important;
}

.kt-padding-t-7 {
    padding-top: 7px !important;
}

.kt-padding-t-8 {
    padding-top: 8px !important;
}

.kt-padding-t-9 {
    padding-top: 9px !important;
}

.kt-padding-l-2 {
    padding-left: 2px;
}

.kt-padding-b-3 {
    padding-top: 3px;
}

.btn-brand:hover {
    color: var(--text-secondary);
    background-color: var(--title-text);
}

.dt-stakeholder-maxwidth {
    max-width: 200px;
}

.nav-tabs.nav-tabs-line.nav.nav-tabs .nav-link:hover,
.nav-tabs.nav-tabs-line.nav.nav-tabs .nav-link.active,
.nav-tabs.nav-tabs-line a.nav-link:hover,
.nav-tabs.nav-tabs-line a.nav-link.active {
    border-bottom: 3px solid var(--primary);
    font-weight: 600;
}

.favourite-mask {
    mask: url('https://localhost:44397/images/icons/rightbar/favorite.svg');
    -webkit-mask: url('https://localhost:44397/images/icons/rightbar/favorite.svg');
    -webkit-mask-size: 60% 60%;
    mask-size: 60% 60%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: var(--secondary);
}

.favourite-selected-mask {
    mask: url('https://localhost:44397/images/icons/rightbar/favorite-selected.svg');
    -webkit-mask: url('https://localhost:44397/images/icons/rightbar/favorite-selected.svg');
    -webkit-mask-size: 60% 60%;
    mask-size: 60% 60%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: var(--secondary);
}

.kt-login-v2 .kt-login-v2__body {
    padding: 0;
}

    .kt-login-v2 .kt-login-v2__body .kt-login-v2__wrapper .kt-login-v2__container {
        min-height: 0px;
    }


.pt-03 {
    padding-top: 0.2rem !important;
}


.b-white {
    background-color: white !important;
}

.b-grey {
    background-color: #f2f3f8 !important;
}


.max-fit {
    max-width: fit-content;
}

.mw-5 {
    min-width: 5rem;
}

.navigate-seperator {
    margin-top: 0.25em !important;
    border-bottom: 0.05rem solid #EBEDF2 !important;
}

.min-width-min {
    min-width: min-content;
}

.min-width-20 {
    min-width: 20px;
}

.min-width-40 {
    min-width: 40px;
}

.lh-chip {
    line-height: 2.5;
    white-space: nowrap;
}

.mt-tiny {
    margin-top: 0.2rem;
}

.modal-content > div:not(.modal-header),
.form-group.mb-3 {
    margin-bottom: 0.75rem !important;
}

.content-edit {
    min-height: 5rem;
    height: auto;
}

.feedback-reply {
    margin-left: 2rem;
}

.feedback-comment-link {
    color: #69BE28 !important;
    font-weight: 600 !important;
}

.nav-tabs.nav-tabs-line .nav-link {
    padding: 0.75rem;
}

.dropdown-menu .split-layout__divider {
    padding: 0.3rem;
}

.col-form-label {
    padding-top: calc(0.65rem + 1px);
    min-height: 35.33px;
}

div.form-group label:not(.btn-icon):not(.radio-custom) {
    padding-top: calc(0.65rem + 1px);
}


.kt-header, .kt-header-mobile {
    position: relative;
    padding: 0;
    z-index: 97;
    height: 75px !important;
    min-width: 0;
    max-width: 100%;
}

/* Top bar row: allow center search area to shrink so avatar stays in view when breadcrumbs or layout are wide */
.kt-header > .flex.flex-row.flex-grow-1,
.kt-header-mobile > .flex.flex-row.flex-grow-1 {
    min-width: 0;
}

.kt-header .flex.j-end,
.kt-header-mobile .flex.j-end {
    flex-shrink: 0;
}

.topbar-title {
    padding-left: 1rem;
    font-size: 24px;
    font-weight: 600;
    letter-spacing: 0.3px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    color: #002244;
    width: auto;
}

.breadcrumbs {
    color: #002244;
    display: flex;
    overflow: auto;
    font-size: 24px;
    padding-left: 1rem;
    letter-spacing: 0.3px;
    transition: all 0.3s;
    -webkit-transition: all 0.3s;
}

.breadcrumbs-current {
    font-weight: 600;
}

.dynamicCont:has(.diagramCont #orgchart_diagram) .breadcrumbs {
    display: none;
}

.dynamicCont:has(.diagramCont #orgstructure_diagram) .breadcrumbs {
    width: calc(100% - 80px);
}

@media (max-width: 900px) {
    .kt-header {
        display: none !important;
    }
}

@media (min-width: 900px) {
    .kt-header-mobile {
        display: none !important;
    }
}

@media (max-width: 900px) {
    .kt-header-mobile {
        background-color: white;
        /*top: -60px !important;*/
    }
}

@media (max-width: 900px) {
    .flex-dyn {
        flex-direction: column !important;
    }
}

.aside-expand {
    position: fixed;
    margin-top: 4.5rem;
    margin-left: -15px;
    z-index: 105;
}

.aside-toggle,
.aside-visible {
    position: absolute;
}

.aside[data-pro-sidebar-edge="start"] .aside-toggle, .aside.aside-primary .aside-toggle,
.aside[data-pro-sidebar-edge="start"] .aside-visible, .aside.aside-primary .aside-visible {
    left: 27px;
    top: 15px;
}

.aside[data-pro-sidebar-edge="end"] .aside-toggle, .aside.aside-secondary .aside-toggle,
.aside[data-pro-sidebar-edge="end"] .aside-visible, .aside.aside-secondary .aside-visible {
    right: 27px;
    top: 20px;
}

.aside-fixed .aside {
    position: fixed;
    top: 0;
    bottom: 0;
    z-index: 101;
    overflow: hidden;
}

[data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"].aside-hoverable .menu-column.text-overflow,
[data-pro-sidebar-start-minimize=on] .aside.aside-primary.aside-hoverable .menu-column.text-overflow,
[data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"].aside-hoverable .menu-column.text-overflow,
[data-pro-sidebar-end-minimize=on] .aside.aside-secondary.aside-hoverable .menu-column.text-overflow {
    width: 62px;
    transition: width 1s ease;
}

@media (min-width: 900px) {
    [data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"].aside-hoverable:hover .menu-column.text-overflow,
    [data-pro-sidebar-start-minimize=on] .aside.aside-primary.aside-hoverable:hover .menu-column.text-overflow,
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"].aside-hoverable:hover .menu-column.text-overflow,
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary.aside-hoverable:hover .menu-column.text-overflow {
        width: unset;
        transition: width .3s ease;
    }
}

[data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"], [data-pro-sidebar-start-minimize=on] .aside.aside-primary {
    width: 75px;
    transition: width .3s ease;
}

[data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"], [data-pro-sidebar-end-minimize=on] .aside.aside-secondary {
    width: 75px;
}

/* 13/10/2025 - EC: PULSE-6482 enabled for all scenarios once more */
[data-pro-sidebar-end-minimize=on] #dynamic_sidebar {
    display: none !important;
}

/* MESSES WITH OFFSET CALCULATIONS IF ENABLED */
/* 08/09/2025 - James: Enabled because of issues with mac display if RHM is hidden */
/* Safari only */
/*@media not all and (min-resolution: 0.001dpcm) {
    @supports (-webkit-appearance: none) {
        [data-pro-sidebar-end-minimize=on] #dynamic_sidebar {
            display: none !important;
        }
    }
}*/


@media (min-width: 900px) {
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"]:hover #dynamic_sidebar,
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary:hover #dynamic_sidebar,
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"].aside-hoverable:has(.chip-hover.show) #dynamic_sidebar,
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary.aside-hoverable:has(.chip-hover.show) #dynamic_sidebar, /*CHIP*/
    [data-pro-sidebar-end-minimize=on]:has(> .dropdown-menu) .aside[data-pro-sidebar-edge="end"].aside-hoverable #dynamic_sidebar:has([data-drop-id]),
    [data-pro-sidebar-end-minimize=on]:has(> .dropdown-menu) .aside.aside-secondary.aside-hoverable #dynamic_sidebar:has([data-drop-id]), /*BUTTON DROPDOWN*/
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"].aside-hoverable:has(.select2-container--below.select2-container--open) #dynamic_sidebar,
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary.aside-hoverable:has(.select2-container--below.select2-container--open) #dynamic_sidebar { /*SELECT2*/
        display: flex !important;
    }
}


@media(min-width:900px) {
    [data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"]:not(.aside-hoverable) .btn-custom .btn-label,
    [data-pro-sidebar-start-minimize=on] .aside.aside-primary:not(.aside-hoverable) .btn-custom .btn-label,
    [data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"]:not(:hover) .btn-custom .btn-label,
    [data-pro-sidebar-start-minimize=on] .aside.aside-primary:not(:hover) .btn-custom .btn-label,
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"]:not(.aside-hoverable) .btn-custom .btn-label,
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary:not(.aside-hoverable) .btn-custom .btn-label,
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"]:not(:hover) .btn-custom .btn-label,
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary:not(:hover) .btn-custom .btn-label {
        width: 0;
        opacity: 0;
        transition: opacity .3s ease;
    }
}

@media(max-width:900px) {
    [data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"]:not(.aside-hoverable) .btn-custom .btn-label,
    [data-pro-sidebar-start-minimize=on] .aside.aside-primary:not(.aside-hoverable) .btn-custom .btn-label,
    [data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"] .btn-custom .btn-label,
    [data-pro-sidebar-start-minimize=on] .aside.aside-primary .btn-custom .btn-label,
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"]:not(.aside-hoverable) .btn-custom .btn-label,
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary:not(.aside-hoverable) .btn-custom .btn-label,
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"] .btn-custom .btn-label,
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary .btn-custom .btn-label {
        width: 0;
        opacity: 0;
        transition: opacity .3s ease;
    }
}

@media(min-width:900px) {
    [data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"]:not(.aside-hoverable) .btn-custom .btn-icon,
    [data-pro-sidebar-start-minimize=on] .aside.aside-primary:not(.aside-hoverable) .btn-custom .btn-icon,
    [data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"]:not(:hover) .btn-custom .btn-icon,
    [data-pro-sidebar-start-minimize=on] .aside.aside-primary:not(:hover) .btn-custom .btn-icon,
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"]:not(.aside-hoverable) .btn-custom .btn-icon,
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary:not(.aside-hoverable) .btn-custom .btn-icon,
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"]:not(:hover) .btn-custom .btn-icon,
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary:not(:hover) .btn-custom .btn-icon {
        margin: 0;
        opacity: 1;
        width: 30px;
        min-width: 2rem;
        min-height: 2rem;
        transition: opacity .3s ease;
    }
}

@media(max-width:900px) {
    [data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"]:not(.aside-hoverable) .btn-custom .btn-icon,
    [data-pro-sidebar-start-minimize=on] .aside.aside-primary:not(.aside-hoverable) .btn-custom .btn-icon,
    [data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"] .btn-custom .btn-icon,
    [data-pro-sidebar-start-minimize=on] .aside.aside-primary .btn-custom .btn-icon,
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"]:not(.aside-hoverable) .btn-custom .btn-icon,
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary:not(.aside-hoverable) .btn-custom .btn-icon,
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"] .btn-custom .btn-icon,
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary .btn-custom .btn-icon {
        margin: 0;
        opacity: 1;
        width: 30px;
        min-width: 2rem;
        min-height: 2rem;
        transition: opacity .3s ease;
    }
}

@media(min-width:900px) {
    [data-pro-sidebar-end-minimize=on] .aside.aside-hoverable.aside-secondary:hover:not(.animating),
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"].aside-hoverable:has(.chip-hover.show),
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary.aside-hoverable:has(.chip-hover.show),
    [data-pro-sidebar-end-minimize=on]:has(> .dropdown-menu) .aside[data-pro-sidebar-edge="end"].aside-hoverable:has([data-drop-id]),
    [data-pro-sidebar-end-minimize=on]:has(> .dropdown-menu) .aside.aside-secondary.aside-hoverable:has([data-drop-id]),
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"].aside-hoverable:has(.select2-container--below.select2-container--open),
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary.aside-hoverable:has(.select2-container--below.select2-container--open) {
        width: auto;
        left: calc(100vw - 510px);
    }

    [data-pro-sidebar-end-minimize=off] .aside[data-pro-sidebar-edge="end"].aside-expanded,
    [data-pro-sidebar-end-minimize=off] .aside.aside-secondary.aside-expanded,
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"].aside-expanded.aside-hoverable:hover,
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary.aside-expanded.aside-hoverable:hover,
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"].aside-expanded.aside-hoverable:has(.chip-hover.show),
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary.aside-expanded.aside-hoverable:has(.chip-hover.show),
    [data-pro-sidebar-end-minimize=on]:has(> .dropdown-menu) .aside[data-pro-sidebar-edge="end"].aside-expanded.aside-hoverable:has([data-drop-id]),
    [data-pro-sidebar-end-minimize=on]:has(> .dropdown-menu) .aside.aside-secondary.aside-expanded.aside-hoverable:has([data-drop-id]),
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"].aside-expanded.aside-hoverable:has(.select2-container--below.select2-container--open),
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary.aside-expanded.aside-hoverable:has(.select2-container--below.select2-container--open) {
        width: calc(100vw - 75px);
        left: 75px;
    }
}

.dt-sidebar-mw {
    max-width: 0;
}

/* Goal details/properties: only the active tab pane fills height (inactive panes stay display:none) */
#dynamic_sidebar #kt-goal-details-tabs-wrapper {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}
#dynamic_sidebar #kt-goal-details-tabs-wrapper .tab-content.h-full {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}
#dynamic_sidebar #kt-goal-details-tabs-wrapper .tab-content .tab-pane.show {
    display: flex !important;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

div + #dynamic_sidebar {
    max-width: 435px;
}

    div + #dynamic_sidebar .btn-parent {
        max-width: 421px;
    }

.aside[data-pro-sidebar-edge="end"].aside-expanded #dynamic_sidebar .btn-parent,
.aside.aside-secondary.aside-expanded #dynamic_sidebar .btn-parent {
    max-width: calc(100vw - 75px);
}

@media(max-width:900px) {
    div + #dynamic_sidebar {
        max-width: calc(100vw - 75px);
    }

    #dynamic_sidebar .btn-parent {
        max-width: calc(100vw - 75px - 15px);
    }
}

@media(min-width:900px) {
    .aside[data-pro-sidebar-edge="end"].aside-expanded div:has(ul) + #dynamic_sidebar,
    .aside.aside-secondary.aside-expanded div:has(ul) + #dynamic_sidebar,
    .aside.aside-share.aside-expanded div:has(ul) + #dynamic_sidebar {
        max-width: calc(100vw - 75px - 75px);
    }
}

/* PULSE-6840 */
#dynamic_sidebar .kt-grid__item.kt-grid__item--fluid:has(.dt-container:has(table.dt-sidebar-constrained)),
#dynamic_sidebar .kt-portlet:has(.dt-container:has(table.dt-sidebar-constrained)),
#dynamic_sidebar .b-white:has(.dt-container:has(table.dt-sidebar-constrained)),
#dynamic_sidebar .dt-container:has(table.dt-sidebar-constrained) {
    min-width: 0;
}

#dynamic_sidebar .dt-container:has(table.dt-sidebar-constrained) {
    max-width: 100%;
}

    #dynamic_sidebar .dt-container:has(table.dt-sidebar-constrained) .dt-scroll-headInner {
        max-width: 100% !important;
    }

    #dynamic_sidebar .dt-container:has(table.dt-sidebar-constrained) .dt-scroll-body table,
    #dynamic_sidebar .dt-container:has(table.dt-sidebar-constrained) .dt-scroll-head table {
        table-layout: fixed;
        width: 100% !important;
    }

    #dynamic_sidebar .dt-container:has(table.dt-sidebar-constrained) .dt-scroll col {
        min-width: 0 !important;
    }

    #dynamic_sidebar .dt-container:has(table.dt-sidebar-constrained) .dt-scroll .dataTable td {
        overflow-wrap: break-word;
        word-break: break-word;
    }

.aside-menu .menu .menu-item .menu-content, .aside-menu .menu .menu-item .menu-link {
    padding-left: 1.3rem;
    padding-right: 1.3rem;
}

@media (min-width: 900px) {
    .aside[data-pro-sidebar-edge="start"] .aside-menu,
    .aside.aside-primary .aside-menu {
        width: calc(265px - 1rem);
    }
}

.kt-nav .kt-nav__item > .kt-nav__link {
    padding-left: 0.7rem;
    padding-right: 0.7rem;
}

.collapsible_sidebar--collapsed .menu-title, .collapsible_sidebar--collapsed .kt-nav__header {
    transition: opacity 600ms;
    opacity: 1;
}

.collapsible_sidebar--collapsed .menu-title, .collapsible_sidebar--collapsed .kt-nav__header {
    opacity: 0;
}

.menu-title-gray-800 .menu-item .menu-link {
    color: #4F5D74;
}

.aside-menu .menu-item .menu-link {
    padding-top: calc(0.75rem + 5px);
    padding-bottom: calc(0.75rem + 5px);
}

.menu-item .menu-link {
    cursor: pointer;
    display: flex;
    align-items: center;
    padding: 0;
    flex: 0 0 100%;
    padding: .65rem 1rem;
    transition: none;
    outline: 0 !important;
}

.menu-sub-item {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.menu-item {
    display: block;
    padding: 0;
}

.aside .aside-menu {
    width: unset;
}

.aside-menu .menu-item {
    padding: 5px 5px 5px 0px;
}

@media (min-width: 900px) {
    [data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"]:not(.aside-hoverable) .aside-menu .menu-content,
    [data-pro-sidebar-start-minimize=on] .aside.aside-primary:not(.aside-hoverable) .aside-menu .menu-content,
    [data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"]:not(:hover) .aside-menu .menu-content,
    [data-pro-sidebar-start-minimize=on] .aside.aside-primary:not(:hover) .aside-menu .menu-content,
    [data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"]:not(.aside-hoverable) .aside-menu .menu-title,
    [data-pro-sidebar-start-minimize=on] .aside.aside-primary:not(.aside-hoverable) .aside-menu .menu-title,
    [data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"]:not(:hover) .aside-menu .menu-title,
    [data-pro-sidebar-start-minimize=on] .aside.aside-primary:not(:hover) .aside-menu .menu-title,
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"]:not(.aside-hoverable) .aside-menu .menu-content,
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary:not(.aside-hoverable) .aside-menu .menu-content,
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"]:not(:hover) .aside-menu .menu-content,
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary:not(:hover) .aside-menu .menu-content,
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"]:not(.aside-hoverable) .aside-menu .menu-title,
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary:not(.aside-hoverable) .aside-menu .menu-title,
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"]:not(:hover) .aside-menu .menu-title,
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary:not(:hover) .aside-menu .menu-title {
        opacity: 0;
        transition: opacity .3s ease;
    }
}

@media (max-width: 900px) {
    [data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"]:not(.aside-hoverable) .aside-menu .menu-content,
    [data-pro-sidebar-start-minimize=on] .aside.aside-primary:not(.aside-hoverable) .aside-menu .menu-content,
    [data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"] .aside-menu .menu-content,
    [data-pro-sidebar-start-minimize=on] .aside.aside-primary .aside-menu .menu-content,
    [data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"]:not(.aside-hoverable) .aside-menu .menu-title,
    [data-pro-sidebar-start-minimize=on] .aside.aside-primary:not(.aside-hoverable) .aside-menu .menu-title,
    [data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"] .aside-menu .menu-title,
    [data-pro-sidebar-start-minimize=on] .aside.aside-primary .aside-menu .menu-title,
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"]:not(.aside-hoverable) .aside-menu .menu-content,
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary:not(.aside-hoverable) .aside-menu .menu-content,
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"] .aside-menu .menu-content,
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary .aside-menu .menu-content,
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"]:not(.aside-hoverable) .aside-menu .menu-title,
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary:not(.aside-hoverable) .aside-menu .menu-title,
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"] .aside-menu .menu-title,
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary .aside-menu .menu-title {
        opacity: 0;
    }
}




.menu-title-gray-800 .menu-item .menu-link .menu-title {
    color: #4F5D74;
}

.menu-item .menu-link .menu-title {
    display: flex;
    align-items: center;
    flex-grow: 1;
}

.aside-light .menu .menu-title {
    font-weight: 400;
    font-size: 16px;
}

.menu-item > .menu-link {
    border-radius: 0.6rem;
}

.menu-item.menu-item-active > .menu-link {
    background-color: #F6F7F9 !important;
    color: var(--primary) !important;
    -moz-box-shadow: inset 0 1px 2px 0 RGBA(0, 0, 0, 0.06);
    -webkit-box-shadow: inset 0 1px 2px 0 RGBA(0, 0, 0, 0.06);
    box-shadow: inset 0 1px 2px 0 RGBA(0, 0, 0, 0.06);
}

.menu .menu-item:not(.here) .menu-link:hover:not(.disabled):not(.active):not(.here),
.aside-dark .menu .menu-item:not(.here) .menu-link:hover:not(.disabled):not(.active):not(.here) {
    background-color: var(--button-hover);
}

.menu-title.menu-title-active, .menu-link:hover .menu-title {
    color: var(--primary) !important;
}

.filter-green {
    filter: invert(57%) sepia(45%) saturate(810%) hue-rotate(51deg) brightness(108%) contrast(76%);
}

.aside-menu .menu-item .menu-icon {
    justify-content: flex-start;
}

.menu-item .menu-link .menu-icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    min-width: 2rem;
    height: 2rem;
    min-height: 2rem;
    margin-right: .5rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

#kt_aside_menu .menu-link .menu-icon {
    justify-content: center;
}

#kt_aside_menu .menu-link .btn-parent:has(.menu-icon--class) {
    flex: 0 0 2rem;
    width: 2rem;
    max-width: 2rem;
}

#kt_aside_menu .menu-icon.menu-icon--class {
    color: var(--secondary);
}

#kt_aside_menu .menu-icon.menu-icon--class .btn-child {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
}

#kt_aside_menu .menu-icon.menu-icon--class .kt-nav__link-icon {
    font-size: 1.2rem !important;
    width: 1.2rem !important;
    height: 1.2rem !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.aside .aside-logo {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 75px;
    min-height: 75px;
    max-height: 75px;
    padding: 0;
}

.flex-column-auto {
    flex: none;
}

.btn:not(.btn-outline):not(.btn-dashed):not(.border-hover):not(.border-active):not(.btn-flush):not(.btn-icon) {
    border: 0;
}

.btn.btn-icon:not(.btn-outline):not(.btn-dashed):not(.border-hover):not(.border-active):not(.btn-flush) {
    border: 0;
}

.btn:not(.btn-shadow):not(.shadow):not(.shadow-sm):not(.shadow-lg) {
    box-shadow: none !important;
}

.btn.dropdown-toggle:after {
    align-self: center;
}

.btn.btn-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    height: calc(1.5em + 1.5rem + 2px);
    width: calc(1.5em + 1.5rem + 2px);
}

.aside.aside-dark .btn-custom:not(.btn-primary) {
    background-color: inherit;
}

@media(min-width: 900px) {
    [data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"]:not(.aside-hoverable) .aside-logo .logo,
    [data-pro-sidebar-start-minimize=on] .aside.aside-primary:not(.aside-hoverable) .aside-logo .logo,
    [data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"]:not(:hover) .aside-logo .logo,
    [data-pro-sidebar-start-minimize=on] .aside.aside-primary:not(:hover) .aside-logo .logo,
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"]:not(.aside-hoverable) .aside-logo .logo,
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary:not(.aside-hoverable) .aside-logo .logo,
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"]:not(:hover) .aside-logo .logo,
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary:not(:hover) .aside-logo .logo {
        display: none;
    }
}

@media(max-width: 900px) {
    [data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"]:not(.aside-hoverable) .aside-logo .logo,
    [data-pro-sidebar-start-minimize=on] .aside.aside-primary:not(.aside-hoverable) .aside-logo .logo,
    [data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"] .aside-logo .logo,
    [data-pro-sidebar-start-minimize=on] .aside.aside-primary .aside-logo .logo,
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"]:not(.aside-hoverable) .aside-logo .logo,
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary:not(.aside-hoverable) .aside-logo .logo,
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"] .aside-logo .logo,
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary .aside-logo .logo {
        display: none;
    }
}

@media (min-width: 900px) {
    [data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"]:not(.aside-hoverable) .aside-logo,
    [data-pro-sidebar-start-minimize=on] .aside.aside-primary:not(.aside-hoverable) .aside-logo,
    [data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"]:not(:hover) .aside-logo,
    [data-pro-sidebar-start-minimize=on] .aside.aside-primary:not(:hover) .aside-logo,
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"]:not(.aside-hoverable) .aside-logo,
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary:not(.aside-hoverable) .aside-logo,
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"]:not(:hover) .aside-logo,
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary:not(:hover) .aside-logo {
        justify-content: inherit;
    }
}

[data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"] .btn-custom .btn-icon[class*="avatar-company"],
[data-pro-sidebar-start-minimize=on] .aside.aside-primary .btn-custom .btn-icon[class*="avatar-company"],
[data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"]:not(:hover) .btn-custom .btn-icon[class*="avatar-company"],
[data-pro-sidebar-start-minimize=on] .aside.aside-primary:not(:hover) .btn-custom .btn-icon[class*="avatar-company"] {
    margin-left: 0px !important;
}

@media (min-width: 900px) {
    [data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"].aside-hoverable:hover .btn-custom .btn-icon[class*="avatar-company"],
    [data-pro-sidebar-start-minimize=on] .aside.aside-primary.aside-hoverable:hover .btn-custom .btn-icon[class*="avatar-company"] {
        margin-left: 0px !important;
    }
}


.menu-column {
    flex-direction: column;
    width: 100%;
}

.menu, .menu-wrapper {
    display: flex;
    padding: 0;
    margin: 0;
    list-style: none;
}


.aside[data-pro-sidebar-edge="start"], .aside.aside-primary {
    width: 265px;
    left: 0;
    transition: width .3s ease;
}

.aside[data-pro-sidebar-edge="end"], .aside.aside-secondary {
    width: auto;
    right: 0;
    transition: width 0s ease;
}

@media(min-width:900px) {
    .aside[data-pro-sidebar-edge="end"].aside-secondary {
        left: calc(100vw - 75px);
    }

    .aside[data-pro-sidebar-edge="end"].pro-sidebar-copilot {
        left: calc(100vw - 510px);
    }
}

@media(max-width:900px) {
    body[data-pro-sidebar-start-minimize=on]:not(.pro-sidebar-start--mobile-expanded) .aside[data-pro-sidebar-edge="start"] {
        left: -75px;
    }

    body[data-pro-sidebar-end-minimize=on]:not(.pro-sidebar-end--mobile-expanded) .aside[data-pro-sidebar-edge="end"] {
        left: calc(100vw + 75px);
        right: calc(100vw + 75px);
    }
}


body:has(> #quick_search) #aside_primary_root,
body:has(> #quick_search) #aside_secondary_root {
    display: none !important;
}

/* LHS stacking — see pro-sidebar.css */

[data-pro-sidebar-end-minimize=off] .aside[data-pro-sidebar-edge="end"],
[data-pro-sidebar-end-minimize=off] .aside.aside-secondary {
    left: calc(100vw - 510px);
}


@media (max-width: 900px) {
    [data-pro-sidebar-start-minimize=off] .aside[data-pro-sidebar-edge="start"],
    [data-pro-sidebar-start-minimize=off] .aside.aside-primary,
    [data-pro-sidebar-end-minimize=off] .aside[data-pro-sidebar-edge="end"],
    [data-pro-sidebar-end-minimize=off] .aside.aside-secondary {
        width: 100vw;
        left: 0;
        right: 0;
    }

    [data-pro-sidebar-start-minimize=off] .aside[data-pro-sidebar-edge="start"],
    [data-pro-sidebar-start-minimize=off] .aside.aside-primary {
        transition: width .3s ease;
    }

    body.pro-sidebar-start--mobile-expanded .aside[data-pro-sidebar-edge="start"],
    body.pro-sidebar-start--mobile-expanded .aside.aside-primary,
    body.pro-sidebar-end--mobile-expanded .aside[data-pro-sidebar-edge="end"],
    body.pro-sidebar-end--mobile-expanded .aside.aside-secondary {
        z-index: 105;
    }

    [data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"],
    [data-pro-sidebar-start-minimize=on] .aside.aside-primary,
    [data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"].aside-hoverable:hover,
    [data-pro-sidebar-start-minimize=on] .aside.aside-primary.aside-hoverable:hover,
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"],
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary,
    [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"].aside-hoverable:hover,
    [data-pro-sidebar-end-minimize=on] .aside.aside-secondary.aside-hoverable:hover {
        width: 75px;
    }

    /* Mobile nav open: full-width overlay (beats minimize=on 75px rule above; does not touch :hover) */
    body.pro-sidebar-start--mobile-expanded [data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"],
    body.pro-sidebar-start--mobile-expanded [data-pro-sidebar-start-minimize=on] .aside.aside-primary,
    body.pro-sidebar-start--mobile-expanded [data-pro-sidebar-start-minimize=off] .aside[data-pro-sidebar-edge="start"],
    body.pro-sidebar-start--mobile-expanded [data-pro-sidebar-start-minimize=off] .aside.aside-primary,
    body.pro-sidebar-end--mobile-expanded [data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"],
    body.pro-sidebar-end--mobile-expanded [data-pro-sidebar-end-minimize=on] .aside.aside-secondary,
    body.pro-sidebar-end--mobile-expanded [data-pro-sidebar-end-minimize=off] .aside[data-pro-sidebar-edge="end"],
    body.pro-sidebar-end--mobile-expanded [data-pro-sidebar-end-minimize=off] .aside.aside-secondary {
        width: 100vw;
        left: 0;
        right: 0;
    }
}

.aside .aside-toggle .flip-icon svg {
    transition: transform .3s ease;
    backface-visibility: hidden;
}

.aside[data-pro-sidebar-edge="start"] .aside-toggle .flip-icon svg,
.aside.aside-primary .aside-toggle .flip-icon svg {
    transform: scale(1);
}

.aside[data-pro-sidebar-edge="end"] .aside-toggle .flip-icon svg,
.aside.aside-secondary .aside-toggle .flip-icon svg {
    transform: scale(-1);
}

[data-pro-sidebar-start-minimize=on] .aside[data-pro-sidebar-edge="start"] .aside-toggle .flip-icon svg,
[data-pro-sidebar-start-minimize=on] .aside.aside-primary .aside-toggle .flip-icon svg {
    transform: scale(-1);
}

[data-pro-sidebar-end-minimize=on] .aside[data-pro-sidebar-edge="end"] .aside-toggle .flip-icon svg,
[data-pro-sidebar-end-minimize=on] .aside.aside-secondary .aside-toggle .flip-icon svg {
    transform: scale(1);
}

.aside button.aside-expand {
    height: 2.25rem !important;
    width: 2.25rem !important;
    color: var(--background) !important;
    border-radius: 10rem !important;
    background-color: var(--primary) !important;
}

.aside .aside-expand svg.flip-icon {
    transition: transform .3s ease;
    backface-visibility: hidden;
}

.aside[data-pro-sidebar-edge="end"] .aside-expand svg.flip-icon,
.aside.aside-secondary .aside-expand svg.flip-icon {
    transform: scale(1);
}

.aside[data-pro-sidebar-edge="end"].aside-expanded .aside-expand svg.flip-icon,
.aside.aside-secondary.aside-expanded .aside-expand svg.flip-icon {
    transform: scale(-1);
}


.btn .svg-icon {
    flex-shrink: 0;
    line-height: 0;
    margin-right: .5rem;
}

.btn.btn-icon .svg-icon, .btn.btn-icon i {
    padding: 0;
    margin: 0;
    line-height: 1;
}

.btn-check:active + .btn.btn-active-color-primary,
.btn-check:checked + .btn.btn-active-color-primary,
.btn.btn-active-color-primary.active,
.btn.btn-active-color-primary.show,
.btn.btn-active-color-primary:active:not(.btn-active),
.btn.btn-active-color-primary:focus:not(.btn-active),
.btn.btn-active-color-primary:hover:not(.btn-active),
.show > .btn.btn-active-color-primary {
    color: var(--primary);
}

    .btn-check:active + .btn.btn-active-color-primary .svg-icon svg [fill]:not(.permanent):not(g),
    .btn-check:checked + .btn.btn-active-color-primary .svg-icon svg [fill]:not(.permanent):not(g),
    .btn.btn-active-color-primary.active .svg-icon svg [fill]:not(.permanent):not(g),
    .btn.btn-active-color-primary.show .svg-icon svg [fill]:not(.permanent):not(g),
    .btn.btn-active-color-primary:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g),
    .btn.btn-active-color-primary:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g),
    .btn.btn-active-color-primary:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g),
    .show > .btn.btn-active-color-primary .svg-icon svg [fill]:not(.permanent):not(g) {
        transition: fill .3s ease;
        fill: var(--primary);
    }

.btn.btn-primary {
    color: #FEFFFF;
    border-color: var(--primary);
    background-color: var(--primary);
    border-radius: 0.6rem;
    -webkit-border-radius: 0.6rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.btn.btn-secondary {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.btn.btn-danger {
    color: #fff;
    border-color: var(--danger) !important;
    background-color: var(--danger) !important;
}


.btn-none {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}


.btn:not(.btn-primary):not(.btn-secondary):not(.btn-brand):not(.btn-dark):not(.btn-danger):not(.btn-warning) {
    /*color: unset;*/
    color: var(--secondary);
}

.menu-item .menu-link .menu-icon .svg-icon {
    line-height: 1;
}

.aside-enabled.aside-fixed[data-pro-sidebar-start-minimize=on] .wrapper,
.aside-enabled.aside-fixed[data-pro-sidebar-end-minimize=on] .wrapper {
    padding-left: 75px;
}

/* Constrain content width so canvas never goes under the secondary aside.
   Use max-width (100vw − primary − secondary) so it works regardless of primary state.
   Values match JS: primary 265/75px, secondary 510/75px.
   Only apply when the secondary aside is present and visible (not kt-hidden), so summary
   and other pages without a visible right sidebar use full width. */
.aside-enabled.aside-fixed #kt_wrapper {
    box-sizing: border-box;
}
.aside-enabled.aside-fixed:has(.aside-secondary:not(.kt-hidden))[data-kt-aside-primary-minimize=off][data-kt-aside-secondary-minimize=off] #kt_wrapper {
    max-width: calc(100vw - 265px - 510px);
}
.aside-enabled.aside-fixed:has(.aside-secondary:not(.kt-hidden))[data-kt-aside-primary-minimize=off][data-kt-aside-secondary-minimize=on] #kt_wrapper {
    max-width: calc(100vw - 265px - 75px);
}
.aside-enabled.aside-fixed:has(.aside-secondary:not(.kt-hidden))[data-kt-aside-primary-minimize=on][data-kt-aside-secondary-minimize=off] #kt_wrapper {
    max-width: calc(100vw - 75px - 510px);
}
.aside-enabled.aside-fixed:has(.aside-secondary:not(.kt-hidden))[data-kt-aside-primary-minimize=on][data-kt-aside-secondary-minimize=on] #kt_wrapper {
    max-width: calc(100vw - 75px - 75px);
}

@media(max-width:900px) {
    body:not(.pro-sidebar-start--mobile-expanded).aside-enabled.aside-fixed[data-pro-sidebar-start-minimize=on] #kt_aside_primary + .wrapper {
        padding-left: 0px;
    }

    body:not(.pro-sidebar-end--mobile-expanded).aside-enabled.aside-fixed[data-pro-sidebar-end-minimize=on] #kt_aside_secondary + .wrapper {
        padding-left: 0px;
    }

    /* Asides overlay full width on mobile; allow full width */
    .aside-enabled.aside-fixed #kt_wrapper {
        max-width: none;
    }
}

.flex-row-fluid {
    flex: 1 auto;
    min-width: 0;
}

.btn-check:active + .btn.btn-primary,
.btn-check:checked + .btn.btn-primary,
.btn.btn-primary.active,
.btn.btn-primary.show,
.btn.btn-primary:active:not(.btn-active):not(.disabled),
.btn.btn-primary:focus:not(.btn-active):not(.disabled),
.btn.btn-primary:hover:not(.btn-active):not(.disabled),
.show > .btn.btn-primary {
    color: #fff;
    border-color: var(--primary);
    background-color: var(--primary) !important;
}

.btn.btn-outline-secondary.active
{
    background-color: transparent !important;
}

.btn-check:active + .btn.btn-danger,
.btn-check:checked + .btn.btn-danger,
.btn.btn-danger.active, .btn.btn-danger.show,
.btn.btn-danger:active:not(.btn-active),
.btn.btn-danger:focus:not(.btn-active),
.btn.btn-danger:hover:not(.btn-active),
.show > .btn.btn-danger {
    color: #fff;
    border-color: var(--danger);
    background-color: var(--danger) !important;
}

[data-pro-sidebar-start-minimize="on"] .aside[data-pro-sidebar-edge="start"] .menu-link div.flex-hover-rev,
[data-pro-sidebar-start-minimize="on"] .aside.aside-primary .menu-link div.flex-hover-rev,
[data-pro-sidebar-start-minimize="on"] .aside[data-pro-sidebar-edge="start"] .menu-link a.flex-hover-rev,
[data-pro-sidebar-start-minimize="on"] .aside.aside-primary .menu-link a.flex-hover-rev,
[data-pro-sidebar-end-minimize="on"] .aside[data-pro-sidebar-edge="end"] .menu-link div.flex-hover-rev,
[data-pro-sidebar-end-minimize="on"] .aside.aside-secondary .menu-link div.flex-hover-rev,
[data-pro-sidebar-end-minimize="on"] .aside[data-pro-sidebar-edge="end"] .menu-link a.flex-hover-rev,
[data-pro-sidebar-end-minimize="on"] .aside.aside-secondary .menu-link a.flex-hover-rev {
    flex-direction: row-reverse !important;
}

[data-pro-sidebar-start-minimize="on"] .aside[data-pro-sidebar-edge="start"] .menu-link .kt-badge,
[data-pro-sidebar-start-minimize="on"] .aside.aside-primary .menu-link .kt-badge,
[data-pro-sidebar-end-minimize="on"] .aside[data-pro-sidebar-edge="end"] .menu-link .kt-badge,
[data-pro-sidebar-end-minimize="on"] .aside.aside-secondary .menu-link .kt-badge {
    margin-left: -17px;
    margin-top: -4px !important;
    z-index: 1;
}


@media (min-width: 900px) {
    [data-pro-sidebar-start-minimize="on"] .aside[data-pro-sidebar-edge="start"].aside-hoverable:hover .menu-link div.flex-hover-rev,
    [data-pro-sidebar-start-minimize="on"] .aside.aside-primary.aside-hoverable:hover .menu-link div.flex-hover-rev,
    [data-pro-sidebar-start-minimize="on"] .aside[data-pro-sidebar-edge="start"].aside-hoverable:hover .menu-link a.flex-hover-rev,
    [data-pro-sidebar-start-minimize="on"] .aside.aside-primary.aside-hoverable:hover .menu-link a.flex-hover-rev,
    [data-pro-sidebar-end-minimize="on"] .aside[data-pro-sidebar-edge="end"].aside-hoverable:hover .menu-link div.flex-hover-rev,
    [data-pro-sidebar-end-minimize="on"] .aside.aside-secondary.aside-hoverable:hover .menu-link div.flex-hover-rev,
    [data-pro-sidebar-end-minimize="on"] .aside[data-pro-sidebar-edge="end"].aside-hoverable:hover .menu-link a.flex-hover-rev,
    [data-pro-sidebar-end-minimize="on"] .aside.aside-secondary.aside-hoverable:hover .menu-link a.flex-hover-rev {
        flex-direction: row !important;
    }

    [data-pro-sidebar-start-minimize="on"] .aside[data-pro-sidebar-edge="start"].aside-hoverable:hover .menu-link .kt-badge,
    [data-pro-sidebar-start-minimize="on"] .aside.aside-primary.aside-hoverable:hover .menu-link .kt-badge,
    [data-pro-sidebar-end-minimize="on"] .aside[data-pro-sidebar-edge="end"].aside-hoverable:hover .menu-link .kt-badge,
    [data-pro-sidebar-end-minimize="on"] .aside.aside-secondary.aside-hoverable:hover .menu-link .kt-badge {
        margin-left: 0px;
        margin-top: 0px !important;
        z-index: 1;
    }
}

.tr-corner {
    position: absolute;
    top: 42px;
    right: 18px
}

.uppy-Root {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    /*display: none;*/
    position: absolute;
    pointer-events: none;
}

.uppy-Root, .uppy-DragDrop-inner {
    font-weight: 600;
    font-size: 1.1rem;
    color: var(--text);
    pointer-events: none;
}

    .uppy-Root.active {
        opacity: 1;
        pointer-events: auto;
    }

.uppy-DragDrop-container {
    border-color: var(--primary);
    pointer-events: none;
    background-color: rgba(105, 190, 40,0.1);
}

.uppy-Root.active .uppy-DragDrop-container {
    pointer-events: auto;
}

.uppy-DragDrop-container:disabled {
    cursor: auto;
}

.uppy-DragDrop-arrow {
    display: none;
}

.text-hyperlink {
    text-decoration: underline;
    text-decoration-color: var(--secondary);
}

.cell-flex {
    max-width: 75% !important;
}

a.text-primary:hover,
a.text-primary:focus {
    color: #447d19 !important;
}

.w-min-12 {
    width: 12%;
}

.w-25 {
    width: 25%;
}

.table {
    margin-bottom: 0;
}

    .table > :not(caption) > * > * {
        color: unset;
        padding: unset;
        color: unset;
        background-color: unset;
        border-bottom-width: unset;
        box-shadow: unset;
    }

.table-bordered > :not(caption) > * {
    border-width: 0;
}

    .table-bordered > :not(caption) > * > * {
        border-width: 0 0 1px 0;
    }

.request-details {
    max-width: 50vw;
    margin: auto;
}


@media (max-width: 768px) {
    .request-details {
        max-width: 100%;
    }
}

@media (min-width: 769px) and (max-width: 900px) {
    .request-details {
        max-width: 80%;
    }
}

body.pro-sidebar-start--mobile-expanded .kt-aside-primary .kt-aside-primary__nav {
    left: 0;
    display: block;
}

#aside_primary_root .aside-edge-start__mobile-nav-toggler, .aside-primary__mobile-nav-toggler,
.kt-aside-primary .kt-aside-primary__toggle {
    display: none;
}
/*.body-scroll-padding {
    margin-top: 70px;
}*/

.sidebar-scroll-padding {
    margin-top: calc(70px + 0.75rem);
}

@media (max-width: 900px) {
    #aside_primary_root .aside-edge-start__mobile-nav-toggler::before,
    #aside_primary_root .aside-primary__mobile-nav-toggler::before,
    #aside_secondary_root .aside-edge-end__mobile-nav-toggler::before,
    #aside_secondary_root .aside-secondary__mobile-nav-toggler::before {
        display: inline-block;
        font-family: inherit;
        font-style: normal;
        font-weight: normal;
        line-height: 1;
    }

    #aside_primary_root .aside-edge-start__mobile-nav-toggler, .aside-primary__mobile-nav-toggler {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        cursor: pointer;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        top: 100px;
        position: fixed;
        left: 0;
        border: 0;
        background: none;
        outline: none !important;
        -webkit-box-shadow: none;
        box-shadow: none;
        outline: none !important;
        display: inline-block;
        border-top-right-radius: 30px;
        border-bottom-right-radius: 30px;
        width: 30px;
        height: 30px;
        background-color: var(--title-text);
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
        -webkit-box-shadow: 0px 0px 28px 0px rgb(82 63 105 / 13%);
        box-shadow: 0px 0px 28px 0px rgb(82 63 105 / 13%);
        z-index: 90;
        color: #aeb2b7;
        font-family: "LineAwesome";
        text-decoration: inherit;
        text-rendering: optimizeLegibility;
        text-transform: none;
        -moz-osx-font-smoothing: grayscale;
        -webkit-font-smoothing: antialiased;
        font-size: 1.2rem;
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
    }

    #aside_secondary_root .aside-edge-end__mobile-nav-toggler, .aside-secondary__mobile-nav-toggler {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        cursor: pointer;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        top: 100px;
        position: fixed;
        right: 0;
        border: 0;
        background: none;
        outline: none !important;
        -webkit-box-shadow: none;
        box-shadow: none;
        outline: none !important;
        display: inline-block;
        border-top-left-radius: 30px;
        border-bottom-left-radius: 30px;
        width: 30px;
        height: 30px;
        background-color: var(--title-text);
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
        -webkit-box-shadow: 0px 0px 28px 0px rgba(82, 63, 105, 0.13);
        box-shadow: 0px 0px 28px 0px rgba(82, 63, 105, 0.13);
        z-index: 90;
        color: #aeb2b7;
        font-family: "LineAwesome";
        text-decoration: inherit;
        text-rendering: optimizeLegibility;
        text-transform: none;
        -moz-osx-font-smoothing: grayscale;
        -webkit-font-smoothing: antialiased;
        font-smoothing: antialiased;
        font-size: 1.2rem;
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
    }

    body.pro-sidebar-start--mobile-expanded #aside_primary_root .aside-edge-start__mobile-nav-toggler,
    body.pro-sidebar-start--mobile-expanded #aside_primary_root .aside-primary__mobile-nav-toggler {
        left: 75px;
    }

    body.pro-sidebar-end--mobile-expanded #aside_secondary_root .aside-edge-end__mobile-nav-toggler,
    body.pro-sidebar-end--mobile-expanded #aside_secondary_root .aside-secondary__mobile-nav-toggler {
        right: 75px;
    }

    /* LineAwesome arrows on ::before (not the button element) */
    body:not(.pro-sidebar-start--mobile-expanded) #aside_primary_root .aside-edge-start__mobile-nav-toggler::before,
    body:not(.pro-sidebar-start--mobile-expanded) #aside_primary_root .aside-primary__mobile-nav-toggler::before {
        content: "";
    }

    body.pro-sidebar-start--mobile-expanded #aside_primary_root .aside-edge-start__mobile-nav-toggler::before,
    body.pro-sidebar-start--mobile-expanded #aside_primary_root .aside-primary__mobile-nav-toggler::before {
        content: "";
    }

    body:not(.pro-sidebar-end--mobile-expanded) #aside_secondary_root .aside-edge-end__mobile-nav-toggler::before,
    body:not(.pro-sidebar-end--mobile-expanded) #aside_secondary_root .aside-secondary__mobile-nav-toggler::before {
        content: "";
    }

    body.pro-sidebar-end--mobile-expanded #aside_secondary_root .aside-edge-end__mobile-nav-toggler::before,
    body.pro-sidebar-end--mobile-expanded #aside_secondary_root .aside-secondary__mobile-nav-toggler::before {
        content: "";
    }
}

@media (max-width: 900px) {
    .kt-aside-primary .kt-aside-primary__nav {
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
        left: -75px;
        display: none;
    }
}

@media (max-width: 900px) {
    .gap-4 {
        gap: 0.5rem !important;
    }

    .kt-process-header {
        font-size: 1.2rem !important;
    }

    .title-chips {
        display: none !important;
    }

    .btn-action {
        font-size: 0 !important;
    }
    /*.bulk-import-users {
        display: none;
    }*/
}

.aside-edge-start__mobile-nav-toggler, .aside-primary__mobile-nav-toggler, .aside-edge-end__mobile-nav-toggler, .aside-secondary__mobile-nav-toggler {
    top: unset !important;
    bottom: 2rem;
    z-index: 99 !important;
}



@media (max-width: 1450px) {
    .btn-action {
        font-size: 0 !important;
    }
}

@media (max-width: 1571px) {
    .btn-action-text {
        font-size: 0 !important;
    }

    .btn-action-icon {
        font-size: 0 !important;
    }
}

.mw-500 {
    max-width: 500px;
}

.btn-child i {
    line-height: 1;
}

.kt-checkbox {
    margin: 0;
}

input.kt-checkbox[type="checkbox"] {
    width: 18px;
    height: 18px;
}

.kt-checkbox > span {
    top: unset;
    left: 0rem;
    height: 1.5rem;
    width: 1.5rem;
}

.kt-checkbox-lg {
    width: 25px !important;
    height: 25px !important;
}

.btn-secondary.btn-border {
    border-color: var(--border);
    border-style: solid;
}

.system-msg {
    max-width: 60vw;
}

@media(max-width:900px) {
    .system-msg {
        max-width: 80vw;
    }
}

a.disabled, a.disabled:hover {
    color: var(--disabled);
}

.no_checkbox > i.jstree-checkbox {
    display: none;
}

.max-height-25 {
    max-height: 2.52rem;
}

.min-height-36 {
    min-height: 2.77rem;
}

.system-cont {
    min-height: 85vh;
}

#_login_partial .system-cont {
    min-height: 60vh;
}

@media(max-width:800px) {
    .dynamicTitle {
        padding-top: 40px;
    }

    #_login_partial .system-cont {
        min-height: 56vh;
    }
}


iframe html {
    overflow-x: hidden;
}

#_login_partial .system-cont {
    width: 40vw;
}

@media(max-width: 900px) {
    #_login_partial .system-cont {
        width: 80vw;
    }

    .feedback-email {
        width: 95% !important;
    }
}

.doc-text-max {
    max-width: 300px;
}

@media(max-width: 900px) {
    .kt-aside-secondary--expanded #aside_secondary_root .aside-edge-end__mobile-nav-toggler,
    .kt-aside-secondary--expanded #aside_secondary_root .aside-secondary__mobile-nav-toggler,
    body.pro-sidebar-end--mobile-expanded #aside_secondary_root .aside-edge-end__mobile-nav-toggler,
    body.pro-sidebar-end--mobile-expanded #aside_secondary_root .aside-secondary__mobile-nav-toggler {
        display: inherit;
    }
}

.grap-color {
    color: var(--handle) !important;
}

    .grap-color:hover {
        color: var(--secondary) !important;
    }

.card-p-top-0 {
    padding-top: 0px !important;
}

.intercom-article {
    max-width: 2.5rem;
    max-height: 2.5rem;
}

.content-max-width {
    overflow-wrap: anywhere;
}

.feedback-email {
    width: 90%;
}

.c-primary {
    color: var(--primary)
}

.c-secondary {
    color: var(--secondary)
}

.c-danger {
    color: var(--danger)
}

.c-warning {
    color: var(--warning)
}

.jstree-node {
    cursor: pointer;
}

    .jstree-node:has(a.jstree_category_separator ) * {
        cursor: default !important;
        border: 0;
        border-bottom-width: 1px;
        border-style: dashed;
    }

.jst-i-ot {
    -webkit-mask-size: 50%;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    min-width: 2rem;
    height: 18px;
}

.select2-results__option:empty {
    display: none;
}

.select2-results__option--highlighted .jst-i-ot {
    background-color: white !important;
}

.jst-i-process {
    background-color: #1dc9b7 !important;
}

.jst-i-valuestream {
    background-color: #9816f4 !important;
}

.jst-i-policy {
    background-color: #ffb822 !important;
}

.jst-i-manageddocument {
    background-color: #ffb822 !important;
}

.jst-i-attachment {
    background-color: #8c9199 !important;
}

.border-none {
    border: none !important;
}

.border-trans,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
    border-color: transparent;
}

.select2-container--ezymapps .select2-selection--single .select2-selection__placeholder {
    color: #4F5D74 !important;
    font-weight: normal;
    font-size: 13px;
}

.sidebar-resize-shadow {
    width: 3px;
    position: absolute;
    top: 0px;
    bottom: 0px;
    left: -1px;
    background: var(--ds-border, linear-gradient(to left, rgba(0, 0, 0, 0.2) 0px, rgba(0, 0, 0, 0.2) 1px, rgba(0, 0, 0, 0.1) 1px, rgba(0, 0, 0, 0) 100% ));
    opacity: 0.5;
    pointer-events: none;
    transition-duration: 0.22s;
    transition-property: left, opacity, width;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.sidebar-resize-btn {
    width: 24px;
    height: 100%;
    padding: 0px;
    background-color: transparent;
    border: 0px;
    cursor: ew-resize;
}

.sidebar-collapse-btn {
    width: 24px;
    height: 24px;
    padding: 0px;
    top: 3px;
    left: -24px;
    background-color: var(--ds-surface-overlay, #FFFFFF);
    border: 0px;
    border-radius: 50%;
    box-shadow: rgb(9 30 66 / 8%) 0px 0px 0px 1px, rgb(9 30 66 / 8%) 0px 2px 4px 1px;
    color: var(--ds-text-subtle, #6B778C);
    cursor: pointer;
    outline: 0px;
    transition: background-color 100ms linear 0s, color 100ms linear 0s, opacity 350ms cubic-bezier(0.2, 0, 0, 1) 0s, left 350ms;
    transform: rotate(180deg);
}

[data-bs-toggle="collapse"].collapsed {
    transform: scale(-1);
}

.custom-file-input {
    display: none;
}

.custom-file-label {
    margin-top: 2.8rem;
}

.custom-file-label {
    cursor: pointer;
}

    .custom-file-label + small {
        max-width: 150px;
        position: absolute;
        top: 13px;
        right: 0;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }


.collapsible_sidebar--collapsed + .rel .sidebar-collapse-btn {
    left: -38px;
}

.w-1 {
    width: 1rem;
}

[type="button"]::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0;
}

.fw-1 {
    font-weight: 100;
}

.dz-drag-hover {
    position: relative;
}

    .dz-drag-hover:after {
        display: block;
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        top: 0;
        background-color: transparent;
        z-index: 1000;
    }

#file-drop {
    position: relative;
    width: 100%;
}

.select2-container.select2-container--open {
    z-index: 2000;
}

.swal2-textarea {
    height: 19vh;
    max-height: 19vh;
}

.swal2-popup .swal2-actions.swal2-loading .swal2-loader {
    border-color: rgb(105,190,40) rgb(105,190,40) rgb(105,190,40) transparent !important;
    animation: swal2-rotate-loading 0.5s linear 0s infinite normal;
    margin: 0 0 0 1.5rem;
    width: 3em;
    height: 3em;
}

div.card.activityNote div.collapse.show {
    overflow-x: auto;
}

div.card.activityNote {
    width: 310px;
}

@media (max-width: 900px) {
    #aside_secondary_root .aside-edge-end__mobile-nav-toggler.nomove,
    #aside_secondary_root .aside-secondary__mobile-nav-toggler.nomove {
        right: 0px !important;
    }

    body.pro-sidebar-end--mobile-expanded #aside_secondary_root .aside-edge-end__mobile-nav-toggler.nomove::before,
    body.pro-sidebar-end--mobile-expanded #aside_secondary_root .aside-secondary__mobile-nav-toggler.nomove::before {
        content: "";
    }

    body:not(.pro-sidebar-end--mobile-expanded) #aside_secondary_root .aside-edge-end__mobile-nav-toggler.nomove::before,
    body:not(.pro-sidebar-end--mobile-expanded) #aside_secondary_root .aside-secondary__mobile-nav-toggler.nomove::before {
        content: "";
    }
}

div.card.activityNote div.collapse.show div.card-body [style*="padding-left"] {
    white-space: nowrap;
}

.tox-tinymce {
    border: 1px solid #E9EDF0 !important;
    border-radius: 0.6rem !important;
}

.btn-badge {
    position: absolute;
    margin-left: 38px;
    margin-top: 26px;
}


.btn-icon-decision {
    max-width: 15.59px;
    margin-left: -5px;
    margin-right: 5px;
}

.video-js {
    min-height: 150px;
}

    .video-js.videoContainer video {
        display: block;
        min-height: 100%;
        min-width: 100%;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 1;
        width: auto;
        height: auto;
    }

.vjs-error .vjs-error-display:before {
    content: none !important;
}

.map_actions {
    display: flex;
    flex-direction: row;
    position: absolute;
    z-index: 999;
}

.map_top_actions {
    gap: 1.5rem;
    left: 157px;
    top: 7px;
}

.map_bottom_actions {
    gap: 1.5rem;
    left: 7px;
    bottom: 16px;
}

.processMap > .map_left_actions + .rel {
    left: 4.5rem;
}

.map_left_actions {
    /*position: relative;*/
    flex-direction: column;
    gap: 0.3rem;
}

.resizeable-container {
    display: flex;
    flex-direction: row;
    overflow: hidden;
}

.resizeable-item {
    display: flex;
    flex: 1;
    min-width: 0;
    border: 1px solid #ddd;
}

.resizeable-handle {
    cursor: ew-resize;
    background-color: var(--map-background);
    border: 1px solid #ddd;
    border-width: 1px 0;
    min-width: 10px;
    z-index: 99999;
    position: static !important;
}

.menu-arrow {
    z-index: 99999;
}

.global-search {
    position: absolute;
    z-index: 96;
    top: 75px;
    left: 0;
    right: 0;
    bottom: 0;
}

.bg-primary {
    background-color: color-mix(in srgb, var(--primary), transparent 50%) !important;
}

.bg-secondary {
    background-color: color-mix(in srgb, var(--secondary), transparent 50%) !important;
}

.bg-background {
    background-color: color-mix(in srgb, var(--background), transparent 50%) !important;
}

.copilot-messages {
    display: flex;
    flex-direction: column;
    flex: 1 1 0;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
}

.copilot-messages__chain {
    color: var(--title-text);
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: auto;
    width: 100%;
}

.copilot-conv-sidebar .copilot-pick-conv {
    cursor: pointer;
    border: 1px solid transparent;
    border-radius: 4px;
    padding: 0.35rem 0.4rem;
    font-size: 0.9rem;
    line-height: 1.2;
    text-align: left;
    position: relative;
}

    .copilot-conv-sidebar .copilot-pick-conv:hover {
        background: rgba(0, 0, 0, 0.04);
    }

    .copilot-conv-sidebar .copilot-pick-conv.active {
        border-color: var(--primary);
        background: var(--background);
    }

    .copilot-conv-sidebar .copilot-pick-conv span {
        color: var(--secondary);
    }

.copilot-conv-sidebar .copilot-del-conv {
    position: absolute;
    right: 2px;
    top: 50%;
    transform: translateY(-50%);
    padding: 0 4px;
    opacity: 0.55;
    line-height: 1;
    border: none;
    background: transparent;
}

    .copilot-conv-sidebar .copilot-del-conv:hover {
        opacity: 1;
    }

.select2-container--ezymapps .select2-results > .select2-results__options {
    max-height: 200px;
}

    .select2-container--ezymapps .select2-results > .select2-results__options#select2-GlobalSearch_Quick-results {
        max-height: 100%;
    }


.select2-container--ezymapps .select2-selection--multiple .select2-selection__choice {
    margin: 0rem 0.4rem 0.2rem 0;
}

#shareParent {
    min-width: 50vw;
    min-height: 80vh;
    max-height: 80vh;
}

#shareDiagram {
    position: relative;
    overflow: hidden;
    background: var(--map-background);
}

#shareSidebar {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: 99;
    background: var(--background);
}


.aside.aside-share .aside-toggle {
    right: 27px;
    top: 20px;
}

.aside-fixed .aside.aside-share {
    position: absolute;
    left: calc(100% - 75px);
    right: 0;
    width: 75px;
}

.aside-share a {
    pointer-events: none;
}

#_share-edit:has(#share-DisplaySidebar:checked) .aside.aside-share {
    width: 510px;
    left: calc(100% - 510px);
}

@media(max-width: 1100px) {

    #_share-edit:has(#share-DisplaySidebar:checked) .aside.aside-share {
        position: absolute;
        width: 100%;
        left: 0;
    }
}

.skeleton-box {
    display: inline-block;
    height: 1em;
    position: relative;
    overflow: hidden;
    background-color: var(--background);
}

    .skeleton-box::after {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        transform: translateX(-100%);
        background-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0.2) 20%, rgba(255, 255, 255, 0.5) 60%, rgba(255, 255, 255, 0));
        -webkit-animation: shimmer 5s infinite;
        animation: shimmer 5s infinite;
        content: "";
    }

@-webkit-keyframes shimmer {
    100% {
        transform: translateX(100%);
    }
}

@keyframes shimmer {
    100% {
        transform: translateX(100%);
    }
}

.w-half {
    width: 50%;
}

.small-input {
    height: 30px; /* Adjust the height to make the input smaller */
    width: 80%;
    padding: 4px 8px; /* Adjust padding for a more compact look */
    font-size: 14px; /* Adjust font size if needed */
    border-radius: 4px; /* Optional: Adjust border radius for rounded corners */
    border: 1px solid #ccc; /* Define a subtle border */
    box-sizing: border-box; /* Ensure padding and border are included in the element's total width and height */
}

.progress-bar {
    padding: 1.5px 8px;
    border-radius: 5px;
}

.progress-container {
    width: 100%;
    background-color: #f3f3f3;
    border-radius: 5px;
}


@media(min-width: 900px) {
    #filter-body {
        overflow-y: auto;
        max-height: 50vh;
    }
}

.kt-padding-t-12 {
    padding-top: 12px !important;
}

.nav-tabs.nav-tabs-line .nav-item {
    margin-right: 5px !important;
}

/* Apply to actual form controls only */
input.input-error, textarea.input-error, select.input-error {
    border: 1px solid #dc3545 !important;
    background: #ffe6e6;
}

/* Select2 visible UI */
.select2 .select2-selection.input-error,
.kt-input-icon.input-error .select2-selection {
    outline: 2px solid #dc3545;
    outline-offset: 2px;
}

.truncate-3-lines {
    display: -webkit-box;
    -webkit-line-clamp: 3; /* Limit to 3 lines */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.risk-details-page {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

.risk-details-page > .flex {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.risk-details-layout > [class*="col-"] {
    min-width: 0;
}

.risk-overview-fields {
    max-width: 100%;
    width: 100%;
}

.risk-overview-fields > [class*="col-"] {
    min-width: 0;
}

.risk-details-page .dt-container {
    max-width: 100%;
}

.risk-details-page table.dataTable {
    width: 100% !important;
}

.risk-field-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    max-width: 100%;
}

.risk-field-card .card-body {
    flex: 1 1 auto;
    min-width: 0;
}

.risk-field-card__value {
    line-height: 1.5;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.risk-field-card__value--pre-wrap {
    white-space: nowrap;
}

.risk-rating-fields {
    max-width: 100%;
    width: 100%;
}

.risk-rating-fields > [class*="col-"] {
    min-width: 0;
}

.risk-rating-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    max-width: 100%;
}

.risk-rating-card__score {
    font-size: 2rem;
    line-height: 1.2;
}

.risk-rating-preview-block__layout {
    min-width: 0;
}

.risk-rating-preview-block__heading {
    font-size: 1.25rem;
    line-height: 1.3;
    flex: 1 1 auto;
    min-width: 0;
}

.risk-rating-preview-block__metrics {
    flex: 0 0 auto;
    min-width: 7rem;
}

.risk-rating-preview-badge {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    padding: 0.35rem 0.65rem;
    border-radius: 0.35rem;
    line-height: 1.25;
    color: var(--dark-text, #1a1a1a);
    background-color: rgba(var(--risk-badge-rgb, 79, 93, 116), 0.12);
    border-left: 0.35rem solid var(--risk-badge-color, #4F5D74);
    min-width: max-content;
}

.risk-rating-preview-badge--modal {
    align-items: flex-end;
    font-size: 0.875rem;
}

.risk-rating-preview-badge--card {
    align-items: flex-start;
    font-size: 1.125rem;
    padding: 0.5rem 0.85rem;
    border-left-width: 0.45rem;
}

.risk-rating-preview-badge__kind {
    display: block;
    font-weight: 600;
}

.risk-rating-preview-badge--card .risk-rating-preview-badge__kind {
    font-size: 1rem;
}

.risk-rating-preview-badge__value {
    display: block;
    white-space: nowrap;
    font-weight: 600;
}

.risk-rating-preview-badge--card .risk-rating-preview-badge__value {
    font-size: 1.375rem;
}

.risk-manager-tabs {
    margin-bottom: 0;
}

.risk-manager-tab-content {
    padding-top: 0.5rem;
}

.dt-container:has(#kt_table_risk_summary) .dt-scroll-headInner,
.dt-container:has(#kt_table_risk_summary) .dt-scroll-body table,
.dt-container:has(#kt_table_risk_summary) .dt-scroll-head table {
    width: 100% !important;
}

#kt_table_risk_summary .risk-summary-title-col,
#kt_table_risk_summary td.sorting_1 {
    max-width: 28rem;
    white-space: normal;
}

.dt-container:has(#kt_table_control_summary) .dt-scroll-headInner,
.dt-container:has(#kt_table_control_summary) .dt-scroll-body table,
.dt-container:has(#kt_table_control_summary) .dt-scroll-head table {
    width: 100% !important;
}

#kt_table_control_summary .control-summary-title-col,
#kt_table_control_summary td.sorting_1 {
    max-width: 28rem;
    white-space: normal;
}

.risk-heatmap-card .kt-portlet__body,
.risk-heatmap-card__body {
    min-height: 20rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.risk-heatmap {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.risk-heatmap__description {
    max-width: 36rem;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

.risk-heatmap__layout {
    display: flex;
    align-items: stretch;
    gap: 0.75rem;
}

.risk-heatmap__y-axis {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 5.5rem;
    padding-bottom: 2.25rem;
}

.risk-heatmap__axis-label-block {
    min-height: 3rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.risk-heatmap__y-axis .risk-heatmap__axis-label-block {
    align-items: flex-end;
    text-align: right;
    padding-right: 0.25rem;
}

.risk-heatmap__axis-label-block--x {
    align-items: center;
    text-align: center;
}

.risk-heatmap__axis-label-title {
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.15;
    color: var(--grey-dark, #6c757d);
}

.risk-heatmap__axis-label-title--has-tip {
    cursor: help;
    border-bottom: 1px dotted var(--grey-dark, #6c757d);
}

.risk-heatmap__matrix-wrap {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding-top: 1.6rem;
}

.risk-heatmap__grid {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.risk-heatmap__row {
    display: flex;
    gap: 0.35rem;
}

.risk-heatmap__cell {
    width: 6rem;
    height: 3rem;
    border-radius: 0.25rem;
    border: 1px solid rgba(0, 0, 0, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(0, 0, 0, 0.82);
    font-weight: 600;
    line-height: 1;
}

.risk-heatmap__cell--empty {
    border-color: rgba(0, 0, 0, 0.04);
}

.risk-heatmap__cell-count {
    font-size: 0.95rem;
    text-shadow: 0 0 2px rgba(255, 255, 255, 0.45);
}

.risk-heatmap__x-axis {
    display: grid;
    grid-template-columns: repeat(5, 6rem);
    gap: 0.35rem;
    justify-content: start;
}

.risk-heatmap__axis-label {
    font-size: 0.7rem;
    line-height: 1.2;
    color: var(--grey-dark, #6c757d);
    text-align: center;
    word-break: break-word;
}

.risk-heatmap__axis-title {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--grey-dark, #6c757d);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.risk-heatmap__axis-title--y {
    margin-bottom: 0.35rem;
}

.risk-heatmap__axis-title--x {
    grid-column: 1 / -1;
    text-align: center;
    margin-top: 0.15rem;
}

.risk-heatmap__legend {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.75rem 1.25rem;
    margin-top: 1.25rem;
    padding-top: 0.75rem;
    width: 100%;
    max-width: 36rem;
}

.risk-heatmap__legend-item {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.72rem;
    color: var(--grey-dark, #6c757d);
}

.risk-heatmap__legend-swatch {
    width: 1rem;
    height: 0.65rem;
    border-radius: 0.15rem;
    border: 1px solid rgba(0, 0, 0, 0.08);
    flex-shrink: 0;
}

.risk-heatmap__legend-label {
    font-weight: 600;
}

.risk-heatmap__legend-range {
    opacity: 0.85;
}

.risk-heatmap-placeholder {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    max-width: 20rem;
}

.risk-heatmap-placeholder__row {
    display: flex;
    gap: 0.35rem;
}

.risk-heatmap-placeholder__cell {
    flex: 1 1 0;
    aspect-ratio: 1;
    border-radius: 0.25rem;
    background: rgba(79, 93, 116, 0.12);
    border: 1px dashed rgba(79, 93, 116, 0.25);
}

.risk-rating-card__factors {
    margin-top: 1rem;
}

.risk-rating-factor {
    border: 1px solid var(--grey);
    border-radius: 0.5rem;
    padding: 0.75rem;
    background-color: transparent;
    box-shadow: none;
    min-width: 0;
}

.risk-rating-factor__label {
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.4;
    margin-bottom: 0.5rem;
}

.risk-rating-factor__value {
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1.3;
    margin-bottom: 0.25rem;
}

.risk-rating-factor__desc {
    font-size: 1rem;
    line-height: 1.4;
}

.dynamic_form_header {
    font-weight: 500 !important;
    padding-top: 3rem;
    border: none;
    font-size: 1.4rem;
}

.dynamic_form_divider {
    border-bottom-width: 2px !important;
    border-bottom-color: #002244 !important;
}

.dynamic_form_file-item {
    display: flex;
    align-items: center;
    margin-bottom: 4px;
    gap: 8px;
}

.dynamic_form_file-remove-btn {
    background: none;
    border: none;
    color: red;
    cursor: pointer;
    font-size: 14px;
    line-height: 1;
}
/* Scoped with .password-rule-container to avoid global clashes */
.password-rule-container ul {
    list-style: none;
    padding-left: 0;
    margin: 0;
}

.password-rule-container .rule-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 4px;
    font-size: 0.95rem;
}

.password-rule-container .icon {
    display: inline-block;
    width: 20px;
    min-width: 20px;
    margin-right: 6px;
    font-weight: bold;
}

.text-success-password {
    color: var(--success);
}

.text-danger-password {
    color: var(--danger);
}

.equal-width-button-group > div {
    flex: 1 1 0;
    min-width: 9.4rem;
}

.equal-width-button-group .btn-parent,
.equal-width-button-group .btn,
.equal-width-button-group .btn-child,
.equal-width-button-group .btn-child > span {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* By default, hide all repeater field labels */
.repeat-group .rr-label {
    display: none;
}

/* The "header" row shows its labels */
.repeat-group .row-item.is-header .rr-label {
    display: block;
}

/* Optional: if you only want the first row's labels to have no extra top space on single-line rows */
.repeat-group .row-item .rr-label .col-form-label {
    margin-bottom: .25rem;
}

.completed-form-repeater-label {
    margin-bottom: .35rem;
}

.completed-form-repeater-dt.b-white,
.completed-form-repeater-dt .kt-grid__item,
.completed-form-repeater-dt .kt-portlet,
.completed-form-repeater-dt .dt-container,
.completed-form-repeater-dt .dt-scroll,
.completed-form-repeater-dt .dt-scroll-head,
.completed-form-repeater-dt .dt-scroll-headInner,
.completed-form-repeater-dt .dt-scroll-body,
.completed-form-repeater-table,
.completed-form-repeater-table thead,
.completed-form-repeater-table tbody,
.completed-form-repeater-table tr,
.completed-form-repeater-table th,
.completed-form-repeater-table td {
    background-color: transparent !important;
}

.completed-form-repeater-dt .dt-scroll-headInner,
.completed-form-repeater-dt .dt-scroll-body table,
.completed-form-repeater-dt .dt-scroll-head table,
.completed-form-repeater-table {
    width: 100% !important;
    max-width: 100%;
}

.completed-form-repeater-table th,
.completed-form-repeater-table td {
    box-sizing: border-box;
    white-space: normal;
    word-break: break-word;
}

.task-checkbox {
    height: 16px !important;
    width: 16px !important;
    min-height: 16px;
    min-width: 16px;
}

.help-menu {
    min-height: 36px;
}

#modal-help {
    left: 7px;
    bottom: 6px;
    z-index: 1050;
    position: absolute;
    font-size: 16px !important;
    font-weight: 400 !important;
}

    #modal-help .btn-icon {
        margin: auto;
        min-width: 2rem;
        min-height: 2rem;
    }

input[type="file"] {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    font: inherit;
}

.form-control:disabled, .form-control[readonly] {
    color: black !important;
}

#modal-help .btn-icon {
    margin: auto;
    min-width: 2rem;
    min-height: 2rem;
}

.sso-card {
    flex: 0 0 320px;
    max-width: 320px;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    border-radius: 0.75rem;
    overflow: hidden;
    cursor: pointer;
}

    .sso-card .kt-portlet__body {
        margin-top: 0;
        padding-bottom: 0 !important;
    }

.file-selector-icon {
    width: 30px;
    height: 30px;
    display: flex;
    border-radius: 50%;
    align-items: center;
    padding-bottom: 0.8rem;
    justify-content: center;
    background-color: white;
    box-shadow: 0px 0px 13px 0px rgba(0, 0, 0, 0.1);
}

/* ============================================================
   Dashboard Grid (single authoritative definition)
   ============================================================ */

.dashboard-shell.scroll-container {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.dashboard-shell .dashboard-header {
    flex-shrink: 0;
}

.dashboard-shell .dashboard-canvas-wrap {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.dashboard-shell .dashboard-empty {
    flex-shrink: 0;
}

.dashboard-shell .dashboard-canvas {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    width: 100%;
    min-width: 0;
    /* Grid configuration */
    --dash-cols: var(--dash-cols, 12);
    --dash-gap: var(--dash-gap, 12px);
    --dash-row: 60px;
    grid-template-columns: repeat(var(--dash-cols), minmax(0, 1fr));
    grid-auto-rows: var(--dash-row);
    gap: var(--dash-gap);
    align-items: stretch;
}

    /* Ensure widgets can shrink correctly inside grid cells */
    .dashboard-shell .dashboard-canvas > .dashboard-widget {
        width: auto;
        min-width: 0;
        max-width: none;
    }

/* ============================================================
   Widget container sizing (CRITICAL for charts / flex content)
   ============================================================ */

        /* Make each widget card respect the grid cell height:
   header takes natural height, body fills remaining space */
        .dashboard-shell .dashboard-canvas > .dashboard-widget.card {
            position: relative;
            display: flex;
            flex-direction: column;
            height: 100%;
            min-height: 0;
        }

            /* Allow the body to shrink; critical for charts and any scrollable content */
            .dashboard-shell .dashboard-canvas > .dashboard-widget.card > .card-body {
                position: relative;
                flex: 1 1 auto;
                min-height: 0;
                overflow: hidden; /* prevents chart/legend from bleeding out */

                display: flex;
                flex-direction: column;
            }

            .dashboard-shell .dashboard-canvas > .dashboard-widget.card > .card-body .ezy-widget-link-embed {
                flex: 1 1 auto;
                min-height: 0;
            }

            .dashboard-shell .dashboard-canvas > .dashboard-widget.card > .card-body .ezy-widget-image-embed {
                flex: 1 1 auto;
                min-height: 0;
            }

/* ============================================================
   Widget affordances (move / resize)
   ============================================================ */

/* Widget container (non-card cases) */
.dashboard-widget {
    position: relative;
}

/* Grab handle (hidden by default) */
.dashboard-canvas .ezy-widget__grabhandle {
    display: none;
}

/* Resize handle (hidden by default) */
.ezy-widget__resizehandle {
    display: none;
    position: absolute;
    right: 10px;
    bottom: 10px;
    cursor: se-resize;
    opacity: 0.75;
    user-select: none;
}

/* ============================================================
   Template Preview Mode (non-destructive)
   ============================================================ */

.dashboard-preview-banner {
    position: sticky;
    top: 0;
    z-index: 5;
}

/* Preview widgets are read-only: their header actions target non-persisted widgets, so hide them. */
body.dashboard-template-previewing #dashboardGrid .dashboard-widget .ezy-widget__header > .d-flex.gap-1 {
    display: none;
}

/* ============================================================
   Layout Edit Mode
   ============================================================ */

/* Full-width dashboard edit layout: shell and canvas use full content area */
body.dashboard-layout-editing .dashboard-shell {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: calc(100vh - 120px);
    max-height: calc(100vh - 120px);
    overflow-y: auto;
    overflow-x: auto;
}

body.dashboard-layout-editing .dashboard-canvas-wrap {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    flex: 1 1 auto;
    min-height: 0;
}

body.dashboard-layout-editing .dashboard-canvas {
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
}

/* Show handles only while editing */
body.dashboard-layout-editing .dashboard-canvas .ezy-widget__grabhandle,
body.dashboard-layout-editing .dashboard-canvas .ezy-widget__resizehandle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

body.dashboard-layout-editing .dashboard-canvas .ezy-widget__grabhandle {
    cursor: grab;
    padding: 2px 6px;
}

    body.dashboard-layout-editing .dashboard-canvas .ezy-widget__grabhandle:active {
        cursor: grabbing;
    }

/* Dashed outline on widgets while editing */
body.dashboard-layout-editing .dashboard-widget {
    outline: 1px dashed rgba(0, 0, 0, 0.15);
}

/* Gridlines overlay (edit mode only) */
body.dashboard-layout-editing #dashboardGrid {
    position: relative;
    padding: 12px;
    flex: 1 1 auto;
    min-height: 0;
    background-image: linear-gradient(to right, rgba(0,0,0,.08) 1px, transparent 1px), linear-gradient(to bottom, rgba(0,0,0,.08) 1px, transparent 1px);
    background-size: calc(100% / var(--dash-cols)) var(--dash-row), calc(100% / var(--dash-cols)) var(--dash-row);
    background-position: 0 0;
    border-radius: 6px;
}

/* Let grid auto-pack during drag/resize */
body.dashboard-layout-editing .dashboard-canvas {
    grid-auto-flow: row dense;
}

    /* In edit mode, allow auto placement but preserve spans */
    body.dashboard-layout-editing .dashboard-canvas .ezy-widget__item {
        grid-column: auto / span var(--w, 1);
        grid-row: auto / span var(--h, 1);
    }

/* Sortable placeholder */
.ezy-widget--sortable-placeholder {
    min-height: var(--dash-row);
    border: 2px dashed rgba(0, 0, 0, 0.25);
    background: rgba(0, 0, 0, 0.04);
    border-radius: 6px;
}

/* ============================================================
   Mobile fallback (stacked layout)
   ============================================================ */

@media (max-width: 768px) {

    .dashboard-shell .dashboard-canvas {
        grid-template-columns: 1fr !important;
        grid-auto-rows: auto;
        align-items: start;
    }

    .dashboard-shell .dashboard-widget {
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
    }

    /* Stack naturally: honour widget height units without squashing card bodies */
    .dashboard-shell .dashboard-canvas > .dashboard-widget.card {
        height: auto;
        min-height: calc(var(--h, 1) * var(--dash-row, 60px));
    }

    .dashboard-shell .dashboard-canvas > .dashboard-widget.card > .card-body {
        flex: 1 1 auto;
        min-height: calc(var(--h, 1) * var(--dash-row, 60px) - 2.75rem);
        overflow: visible;
    }

    /* Charts rely on percentage heights; give the wrap an explicit minimum on mobile */
    .dashboard-shell .dashboard-canvas > .dashboard-widget.card > .card-body .ezy-chart-widget,
    .dashboard-shell .dashboard-canvas > .dashboard-widget.card > .card-body .ezy-chart-wrap {
        min-height: calc(var(--h, 2) * var(--dash-row, 60px) - 4rem);
    }

    .dashboard-shell .dashboard-canvas > .dashboard-widget.card > .card-body .ezy-widget-link-embed {
        flex: 1 1 auto;
        min-height: 0;
    }

    .dashboard-shell .dashboard-canvas > .dashboard-widget.card > .card-body .ezy-widget-image-embed {
        flex: 1 1 auto;
        min-height: 0;
    }

    /* Hide resize affordance on mobile */
    .ezy-widget__resizehandle {
        display: none !important;
    }
}

/* ============================================================
   Misc
   ============================================================ */

/* Widget loading: centered spinner */
.ezy-widget-loading--center {
    min-height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

/* Owner column min width */
#kt_table_dashboard_manager td.ezy-owner-col,
#kt_table_dashboard_manager th.ezy-owner-col {
    min-width: 180px;
}

/* visual-only disabled (still clickable) */
.ezy-btn-muted {
    opacity: .45;
}

    .ezy-btn-muted:hover {
        opacity: .75;
    }

/* Icon-only buttons: never show text, even if JS injects it */
/*a.btn-icon,
button.btn-icon {
    font-size: 0 !important;
    line-height: 0 !important;
    /*color: transparent !important;
    text-shadow: none !important;
    overflow: hidden !important;
    white-space: nowrap !important;
}*/

/* Keep accessibility text readable to screen readers but visually hidden */
/*a.btn-icon .visually-hidden,
    button.btn-icon .visually-hidden {
        font-size: 1rem !important;
        line-height: normal !important;
    }*/


a.btn-icon,
button.btn-icon {
    /* keep your intent: no text */
    font-size: 0 !important;
    line-height: 0 !important;
    /* DO NOT make color transparent */
    /*color: inherit !important;*/
    text-shadow: none !important;
    overflow: hidden !important;
    white-space: nowrap !important;
}

    /* Make the icon itself a sane size */
    a.btn-icon svg,
    button.btn-icon svg,
    a.btn-icon i,
    button.btn-icon i {
        font-size: 1rem !important;
        line-height: 1 !important;
        width: 1rem;
        height: 1rem;
    }




/* HeaderMode.Never => always hidden */
.dashboard-widget[data-header_mode="2"] .ezy-widget__header {
    display: none !important;
}

/* HeaderMode.EditOnly => hidden unless layout editing */
.dashboard-widget[data-header_mode="1"] .ezy-widget__header {
    display: none !important;
}

/* While editing layout, show EditOnly headers */
body.dashboard-layout-editing .dashboard-widget[data-header_mode="1"] .ezy-widget__header {
    display: flex !important;
}

.alert-light {
    background-color: var(--grey) !important;
}

#dashboardGrid .list-group-item-action:not(.active):hover,
#dashboardGrid .list-group-item-action:not(.active):focus {
    color: #0f172a !important;
    /* background-color: #eef2ff !important; */
}

/* ============================================================
   Planner Card Flow Drag & Drop
   ============================================================ */

.plan-cf-handle {
    cursor: grab;
    user-select: none;
    padding: 4px 8px;
    opacity: .75;
    touch-action: none;
}

    .plan-cf-handle:active {
        cursor: grabbing;
    }

.plan-cf-card.plan-cf-dragging {
    opacity: .65;
}

.plan-cf-placeholder {
    height: 60px;
    border: 2px dashed rgba(0,0,0,.25);
    border-radius: 6px;
    background: rgba(0,0,0,.04);
}


/* ============================================================
   JSTree Look and Feel
   ============================================================ */

/* Bootstrap-ish styling for jsTree contextmenu (vakata) */
.vakata-context {
    z-index: 2055 !important; /* above BS modals/backdrops if needed */
    border: 1px solid rgba(0,0,0,.12) !important;
    border-radius: .5rem !important;
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15) !important;
    padding: .25rem 0 !important;
    background: var(--bs-body-bg, #fff) !important;
    color: var(--bs-body-color, #212529) !important;
    min-width: 12rem;
}

    .vakata-context li {
        margin: 0 !important;
    }

        .vakata-context li > a {
            display: flex !important;
            align-items: center !important;
            gap: .5rem !important;
            padding: .5rem 1rem !important;
            text-decoration: none !important;
            color: inherit !important;
            border: 0 !important;
            background: transparent !important;
            line-height: 1.2 !important;
            white-space: nowrap;
        }

            .vakata-context li > a:hover,
            .vakata-context li > a:focus {
                background: rgba(0,0,0,.05) !important; /* like BS dropdown hover */
            }

        .vakata-context li.vakata-context-separator > a,
        .vakata-context li.vakata-context-separator > a:hover {
            height: 0 !important;
            padding: 0 !important;
            margin: .25rem 0 !important;
            border-top: 1px solid rgba(0,0,0,.1) !important;
            background: transparent !important;
        }

        .vakata-context li.vakata-contextmenu-disabled > a {
            opacity: .5 !important;
            pointer-events: none !important;
        }

        .vakata-context li > a i {
            opacity: .8;
        }

/* Optional: if you want it to feel more “dropdown-menu” */
.vakata-context {
    font-size: .95rem;
}

.ezy-widget-title {
    font-size: 1.2rem !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
}

.ezy-widget-subtitle {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.25;
}

.ezy-widget-small {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.25;
}

.ezy-widget-link-image {
    display: block;
    /*text-decoration: none;*/
    cursor: pointer;
}

    .ezy-widget-link-image img {
        display: block;
    }

/* Image widget: fill remaining widget body space */
.ezy-widget-image-embed {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
}

.ezy-widget-image-embed__frame,
.ezy-widget-image-embed__link {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
    display: flex;
}

.ezy-widget-image-embed__link {
    text-decoration: none;
}

.ezy-widget-image-embed__img {
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 12px;
}

/* Hyperlink widget: embedded iframe fills remaining widget body space */
.ezy-widget-link-embed {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
}

.ezy-widget-link-embed__frame {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
}

.ezy-widget-link-embed__iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

/* Link preview modal: iframe fills the modal content area */
.ezy-link-preview {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
}

.ezy-link-preview__frame {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    overflow: hidden;
}

.ezy-link-preview__iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

/* ===============================
   Compliance badges — Light theme
   =============================== */

.badge-light-success {
    background-color: rgba(80, 205, 137, 0.15);
    color: #0f5132;
    border: 1px solid rgba(80, 205, 137, 0.35);
    font-weight: 600;
}

.badge-light-danger {
    background-color: rgba(241, 65, 108, 0.15);
    color: #842029;
    border: 1px solid rgba(241, 65, 108, 0.35);
    font-weight: 600;
}

.badge-light-warning {
    background-color: rgba(255, 193, 7, 0.15);
    color: #664d03;
    border: 1px solid rgba(255, 193, 7, 0.35);
    font-weight: 600;
}


/* ===========================================
   Planner goal progress slider - overdue fill
   =========================================== */
input[type="range"].goal-progress-overdue {
    --pp-fill: #dc3545; /* red */
    --pp-rest: #e9ecef; /* normal track */
    --pp-pct: 0%;
}

    /* CHROME / EDGE / SAFARI */
    input[type="range"].goal-progress-overdue::-webkit-slider-runnable-track {
        height: 6px;
        border-radius: 999px;
        background: linear-gradient( to right, var(--pp-fill) 0%, var(--pp-fill) var(--pp-pct), var(--pp-rest) var(--pp-pct), var(--pp-rest) 100% );
    }

    input[type="range"].goal-progress-overdue::-webkit-slider-thumb {
        -webkit-appearance: none;
        appearance: none;
        width: 16px;
        height: 16px;
        border-radius: 999px;
        background: var(--pp-fill);
        margin-top: -5px;
    }

    /* FIREFOX */
    input[type="range"].goal-progress-overdue::-moz-range-track {
        height: 6px;
        border-radius: 999px;
        background: var(--pp-rest);
    }

    input[type="range"].goal-progress-overdue::-moz-range-progress {
        height: 6px;
        border-radius: 999px;
        background: var(--pp-fill);
    }

    input[type="range"].goal-progress-overdue::-moz-range-thumb {
        width: 16px;
        height: 16px;
        border-radius: 999px;
        border: 0;
        background: var(--pp-fill);
    }

/* ===========================================
   Planner goal progress slider - on track (ok)
   =========================================== */
input[type="range"].goal-progress-ok {
    --pp-fill: #50cd89; /* green */
    --pp-rest: #e9ecef; /* normal track */
    --pp-pct: 0%;
}

    /* CHROME / EDGE / SAFARI */
    input[type="range"].goal-progress-ok::-webkit-slider-runnable-track {
        height: 6px;
        border-radius: 999px;
        background: linear-gradient( to right, var(--pp-fill) 0%, var(--pp-fill) var(--pp-pct), var(--pp-rest) var(--pp-pct), var(--pp-rest) 100% );
    }

    input[type="range"].goal-progress-ok::-webkit-slider-thumb {
        -webkit-appearance: none;
        appearance: none;
        width: 16px;
        height: 16px;
        border-radius: 999px;
        background: var(--pp-fill);
        margin-top: -5px;
    }

    /* FIREFOX */
    input[type="range"].goal-progress-ok::-moz-range-track {
        height: 6px;
        border-radius: 999px;
        background: var(--pp-rest);
    }

    input[type="range"].goal-progress-ok::-moz-range-progress {
        height: 6px;
        border-radius: 999px;
        background: var(--pp-fill);
    }

    input[type="range"].goal-progress-ok::-moz-range-thumb {
        width: 16px;
        height: 16px;
        border-radius: 999px;
        border: 0;
        background: var(--pp-fill);
    }

/* ===========================================
   Planner goal progress slider - at risk (warn)
   =========================================== */
input[type="range"].goal-progress-warn {
    --pp-fill: #ffc107; /* yellow/amber */
    --pp-rest: #e9ecef; /* normal track */
    --pp-pct: 0%;
}

    /* CHROME / EDGE / SAFARI */
    input[type="range"].goal-progress-warn::-webkit-slider-runnable-track {
        height: 6px;
        border-radius: 999px;
        background: linear-gradient( to right, var(--pp-fill) 0%, var(--pp-fill) var(--pp-pct), var(--pp-rest) var(--pp-pct), var(--pp-rest) 100% );
    }

    input[type="range"].goal-progress-warn::-webkit-slider-thumb {
        -webkit-appearance: none;
        appearance: none;
        width: 16px;
        height: 16px;
        border-radius: 999px;
        background: var(--pp-fill);
        margin-top: -5px;
    }

    /* FIREFOX */
    input[type="range"].goal-progress-warn::-moz-range-track {
        height: 6px;
        border-radius: 999px;
        background: var(--pp-rest);
    }

    input[type="range"].goal-progress-warn::-moz-range-progress {
        height: 6px;
        border-radius: 999px;
        background: var(--pp-fill);
    }

    input[type="range"].goal-progress-warn::-moz-range-thumb {
        width: 16px;
        height: 16px;
        border-radius: 999px;
        border: 0;
        background: var(--pp-fill);
    }

/* ===========================================
   Planner goal progress slider - critical (crit)
   =========================================== */
input[type="range"].goal-progress-crit {
    --pp-fill: #dc3545; /* red */
    --pp-rest: #e9ecef; /* normal track */
    --pp-pct: 0%;
}

    /* CHROME / EDGE / SAFARI */
    input[type="range"].goal-progress-crit::-webkit-slider-runnable-track {
        height: 6px;
        border-radius: 999px;
        background: linear-gradient( to right, var(--pp-fill) 0%, var(--pp-fill) var(--pp-pct), var(--pp-rest) var(--pp-pct), var(--pp-rest) 100% );
    }

    input[type="range"].goal-progress-crit::-webkit-slider-thumb {
        -webkit-appearance: none;
        appearance: none;
        width: 16px;
        height: 16px;
        border-radius: 999px;
        background: var(--pp-fill);
        margin-top: -5px;
    }

    /* FIREFOX */
    input[type="range"].goal-progress-crit::-moz-range-track {
        height: 6px;
        border-radius: 999px;
        background: var(--pp-rest);
    }

    input[type="range"].goal-progress-crit::-moz-range-progress {
        height: 6px;
        border-radius: 999px;
        background: var(--pp-fill);
    }

    input[type="range"].goal-progress-crit::-moz-range-thumb {
        width: 16px;
        height: 16px;
        border-radius: 999px;
        border: 0;
        background: var(--pp-fill);
    }

input[type="range"].pp-locked {
    cursor: default;
}

    /* CHROME / EDGE / SAFARI */
    input[type="range"].pp-locked::-webkit-slider-thumb {
        opacity: 0;
        width: 0;
        height: 0;
        margin-top: 0;
    }

    /* FIREFOX */
    input[type="range"].pp-locked::-moz-range-thumb {
        opacity: 0;
        width: 0;
        height: 0;
        border: 0;
    }


/* ===========================================
   Planner goal progress bar - workflow-style with handle
   (Same look/feel as _partial-workflow, with goal colors)
   =========================================== */
.goal-progress-slider-wrapper {
    position: relative;
    min-height: 24px;
    cursor: default;
}

.goal-progress-slider-wrapper.goal-progress-editable {
    cursor: pointer;
}

.goal-progress-slider-wrapper .progress-bar {
    position: relative;
    min-height: 24px;
    min-width: 2.5em;
    display: flex;
    align-items: center;
    transition: width 0.1s ease;
}

.goal-progress-slider-wrapper .progress-bar.goal-progress-ok {
    background-color: #50cd89;
    color: #1e3a2f;
}

.goal-progress-slider-wrapper .progress-bar.goal-progress-warn {
    background-color: #ffc107;
    color: #3d3000;
}

.goal-progress-slider-wrapper .progress-bar.goal-progress-crit,
.goal-progress-slider-wrapper .progress-bar.goal-progress-overdue {
    background-color: #dc3545;
    color: #fff;
}

.goal-progress-bar-text {
    padding: 0 8px;
    font-size: 0.9rem;
    font-weight: 500;
    white-space: nowrap;
}

.goal-progress-handle {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 16px;
    height: 16px;
    border-radius: 999px;
    background-color: rgba(0, 0, 0, 0.25);
    border: 2px solid rgba(255, 255, 255, 0.9);
    cursor: grab;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    z-index: 2;
}

.goal-progress-handle:hover {
    background-color: rgba(0, 0, 0, 0.35);
}

.goal-progress-handle:active {
    cursor: grabbing;
}


/* ===========================================
   Planner goal associations card
   =========================================== */
.goal-association-card .card-body {
    padding: 0.75rem;
}

.goal-association-card i {
    opacity: 0.9;
}

.goal-association-card:focus {
    outline: none;
}

/* Goal progress history DataTable inside modal: constrain to modal width so headers fit */
.goal-progress-history-dt-wrap {
    max-width: 100%;
    overflow-x: auto;
}

.goal-progress-history-dt-wrap .dt-container {
    max-width: 100%;
}

.goal-progress-history-dt-wrap .dt-scroll-head,
.goal-progress-history-dt-wrap .dt-scroll-body,
.goal-progress-history-dt-wrap .dt-scroll-foot {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

.goal-progress-history-dt-wrap .dt-scroll-headInner,
.goal-progress-history-dt-wrap .dt-scroll-footInner {
    max-width: 100% !important;
}

/* Expected progress DataTable: constrain to container width so table fits in tab area */
.goal-expected-progress-dt-wrap {
    max-width: 100%;
    overflow-x: auto;
}

.goal-expected-progress-dt-wrap .dt-container {
    max-width: 100%;
}

.goal-expected-progress-dt-wrap .dt-scroll-head,
.goal-expected-progress-dt-wrap .dt-scroll-body,
.goal-expected-progress-dt-wrap .dt-scroll-foot {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

.goal-expected-progress-dt-wrap .dt-scroll-headInner,
.goal-expected-progress-dt-wrap .dt-scroll-footInner {
    max-width: 100% !important;
}

.goal-expected-progress-dt-wrap table.dataTable {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed;
}

.ellipsis {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

/* Plan goals tree: constrain width so goal titles truncate with ellipsis and status chip stays visible */
.plan-goals-tree {
    overflow-x: hidden;
}
/* Focus-area trees grow with goals; scroll the plan portlet (#plan_details_scroll), not each tree */
.plan-focusareas .plan-fa-lane {
    align-items: stretch;
}
.plan-focusareas .plan-fa-left {
    align-self: stretch;
    box-sizing: border-box;
}
.plan-focusareas .plan-goals-tree,
.plan-focusareas .plan-goals-tree.k-treeview,
.plan-focusareas .plan-goals-tree .k-treeview {
    overflow-y: visible !important;
    height: auto !important;
    max-height: none !important;
}
.plan-focusareas .plan-fa-goals-empty,
.plan-focusareas .plan-fa-right,
.plan-focusareas .plan-fa-lane {
    overflow: visible;
}
.plan-goals-tree > *,
.plan-goals-tree ul,
.plan-goals-tree li.jstree-node {
    min-width: 0;
    max-width: 100%;
}
.plan-goals-tree .jstree-anchor {
    min-width: 0;
    max-width: 100%;
}
.plan-goals-tree .pg-title {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 1rem !important;
    font-weight: 400 !important;
    color: var(--secondary, var(--bs-body-color, #212529));
    line-height: 1.5;
}

/* Override Kendo TreeView default (--kendo-font-size ~0.875rem) for goal row text */
.plan-goals-tree .k-treeview,
.plan-goals-tree .k-treeview-item .k-treeview-leaf,
.plan-goals-tree .k-treeview-item .k-treeview-item-text,
.plan-goals-tree .jstree-anchor,
.plan-goals-tree .e-treeview .e-list-item .pg-title {
    font-size: 1rem !important;
    font-weight: 400 !important;
    color: var(--secondary, var(--bs-body-color, #212529));
}
.plan-goals-tree .pg-chip {
    flex-shrink: 0;
}

/* Parent/Child goal association tables: single column, title (ellipsis) + actions on the right */
/* Constrain DataTables dt-scroll layout so it doesn’t force a wide inner width and scroll bar */
/* Title in column 0 (most of row); actions in column 1 (narrow). Force td/th width so it’s not 50/50. */
.card:has(#goal_assoc_parentgoals_table),
.card:has(#goal_assoc_childgoals_table) {
    overflow-x: hidden;
    min-width: 0;
    max-width: 100%;
}
.card:has(#goal_assoc_parentgoals_table) .dt-container,
.card:has(#goal_assoc_childgoals_table) .dt-container {
    width: 100% !important;
    max-width: 100% !important;
}
.card:has(#goal_assoc_parentgoals_table) .dt-scroll-head,
.card:has(#goal_assoc_parentgoals_table) .dt-scroll-body,
.card:has(#goal_assoc_parentgoals_table) .dt-scroll-foot,
.card:has(#goal_assoc_childgoals_table) .dt-scroll-head,
.card:has(#goal_assoc_childgoals_table) .dt-scroll-body,
.card:has(#goal_assoc_childgoals_table) .dt-scroll-foot {
    width: 100% !important;
    max-width: 100% !important;
}
.card:has(#goal_assoc_parentgoals_table) .dt-scroll-headInner,
.card:has(#goal_assoc_parentgoals_table) .dt-scroll-footInner,
.card:has(#goal_assoc_childgoals_table) .dt-scroll-headInner,
.card:has(#goal_assoc_childgoals_table) .dt-scroll-footInner {
    width: 100% !important;
    max-width: 100% !important;
}
.card:has(#goal_assoc_parentgoals_table) .dt-scroll-body,
.card:has(#goal_assoc_childgoals_table) .dt-scroll-body {
    overflow-x: hidden !important;
}
#goal_assoc_parentgoals_table,
#goal_assoc_childgoals_table {
    table-layout: fixed !important;
    width: 100% !important;
}
#goal_assoc_parentgoals_table td.goal-assoc-cell,
#goal_assoc_childgoals_table td.goal-assoc-cell {
    overflow: visible;
    white-space: normal;
}
/* Match Focus Areas card: title line ellipsis, text column grows, actions stay right */
#goal_assoc_parentgoals_table .goal-assoc-cell-inner,
#goal_assoc_childgoals_table .goal-assoc-cell-inner {
    min-width: 0;
    max-width: 100%;
}

#goal_assoc_parentgoals_table .goal-assoc-row,
#goal_assoc_childgoals_table .goal-assoc-row {
    min-width: 0;
    max-width: 100%;
}

#goal_assoc_parentgoals_table .goal-assoc-title-wrap,
#goal_assoc_childgoals_table .goal-assoc-title-wrap {
    min-width: 0;
    flex: 1 1 0;
    overflow: visible;
}

#goal_assoc_parentgoals_table .goal-assoc-actions,
#goal_assoc_childgoals_table .goal-assoc-actions {
    flex-shrink: 0;
}

#goal_assoc_parentgoals_table .goal-assoc-title,
#goal_assoc_childgoals_table .goal-assoc-title {
    display: block;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#goal_assoc_parentgoals_table .goal-assoc-subtitle,
#goal_assoc_childgoals_table .goal-assoc-subtitle {
    display: block;
    min-width: 0;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.35;
}

#goal_assoc_parentgoals_table .goal-assoc-trailing,
#goal_assoc_childgoals_table .goal-assoc-trailing {
    flex-shrink: 0;
    align-items: center;
}

#goal_assoc_parentgoals_table .goal-assoc-status-indicator,
#goal_assoc_childgoals_table .goal-assoc-status-indicator {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}

#goal_assoc_parentgoals_table .goal-assoc-status-bar,
#goal_assoc_childgoals_table .goal-assoc-status-bar {
    display: none;
    width: 4px;
    min-width: 4px;
    height: 1.75rem;
    border-radius: 2px;
    flex-shrink: 0;
    cursor: default;
}

#goal_assoc_parentgoals_table .goal-assoc-status-chip-full,
#goal_assoc_childgoals_table .goal-assoc-status-chip-full {
    display: inline-flex;
    align-items: center;
    max-width: 160px;
}

#goal_assoc_parentgoals_table .goal-assoc-status-chip-full .chip,
#goal_assoc_childgoals_table .goal-assoc-status-chip-full .chip {
    max-width: 100%;
}

/* Collapsed secondary sidebar: compact status bar; full chip when aside-expanded */
.aside.aside-secondary:not(.aside-expanded) #goal_assoc_parentgoals_table .goal-assoc-status-chip-full,
.aside.aside-secondary:not(.aside-expanded) #goal_assoc_childgoals_table .goal-assoc-status-chip-full {
    display: none !important;
}

.aside.aside-secondary:not(.aside-expanded) #goal_assoc_parentgoals_table .goal-assoc-status-bar,
.aside.aside-secondary:not(.aside-expanded) #goal_assoc_childgoals_table .goal-assoc-status-bar {
    display: inline-block;
}

.aside.aside-secondary.aside-expanded #goal_assoc_parentgoals_table .goal-assoc-status-bar,
.aside.aside-secondary.aside-expanded #goal_assoc_childgoals_table .goal-assoc-status-bar {
    display: none !important;
}

/* Goal tasks list — same card row layout as parent/child goal associations */
.card:has(#goal_tasks_table) {
    overflow-x: hidden;
    min-width: 0;
    max-width: 100%;
}
.card:has(#goal_tasks_table) .dt-container {
    width: 100% !important;
    max-width: 100% !important;
}
.card:has(#goal_tasks_table) .dt-scroll-head,
.card:has(#goal_tasks_table) .dt-scroll-body,
.card:has(#goal_tasks_table) .dt-scroll-foot {
    width: 100% !important;
    max-width: 100% !important;
}
.card:has(#goal_tasks_table) .dt-scroll-headInner,
.card:has(#goal_tasks_table) .dt-scroll-footInner {
    width: 100% !important;
    max-width: 100% !important;
}
.card:has(#goal_tasks_table) .dt-scroll-body {
    overflow-x: hidden !important;
}
#goal_tasks_table {
    table-layout: fixed !important;
    width: 100% !important;
}
#goal_tasks_table td.goal-assoc-cell {
    overflow: visible;
    white-space: normal;
}
#goal_tasks_table .goal-assoc-cell-inner {
    min-width: 0;
    max-width: 100%;
}
#goal_tasks_table .goal-assoc-row {
    min-width: 0;
    max-width: 100%;
}
#goal_tasks_table .goal-assoc-title-wrap {
    min-width: 0;
    flex: 1 1 0;
    overflow: visible;
}
#goal_tasks_table .goal-assoc-title {
    display: block;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
#goal_tasks_table .goal-task-title {
    cursor: pointer;
}
#goal_tasks_table .goal-task-title:hover {
    text-decoration: underline;
}
#goal_tasks_table .goal-assoc-subtitle {
    display: block;
    min-width: 0;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.35;
}
#goal_tasks_table .goal-assoc-trailing {
    flex-shrink: 0;
    align-items: center;
}
#goal_tasks_table .goal-assoc-trailing .chip-mw,
#goal_tasks_table .goal-assoc-trailing .chip {
    max-width: 100%;
}

.goal-details-progress-section {
    padding-top: 10px;
}

.goal-details-progress-header {
    width: 100%;
}

.goal-details-progress-status-chip {
    display: inline-flex;
    align-items: center;
    margin-left: auto;
    flex-shrink: 0;
}

.goal-details-progress-status-chip .chip {
    max-width: 100%;
}
/* ===============================
   Form designer — field options DataTables (sidebar + option list modal)
   =============================== */

.form-designer-field-options-table-wrap .dt-container { max-width: 100%; width: 100%; min-width: 0; }
.form-designer-field-options-table-wrap .dt-scroll-headInner,
.form-designer-field-options-table-wrap .dt-scroll-body table { width: 100% !important; max-width: 100%; }
.form-designer-field-options-dt {
    table-layout: fixed;
    width: 100%;
}
.form-designer-field-options-dt tbody tr.ui-state-highlight { min-height: 2.5em; background: rgba(0, 0, 0, 0.08); }
.form-designer-field-options-dt .ui-sortable-handle { cursor: grab; }
.form-designer-field-options-dt .ui-sortable-handle:active { cursor: grabbing; }
/* RowReorder: show draggable affordance on grip column */
.form-designer-field-options-dt td.form-field-option-drag-cell,
.form-designer-field-options-dt td.form-field-option-drag-cell .form-field-option-drag-icon {
    cursor: grab;
    user-select: none;
    align-content: center;
}
.form-designer-field-options-dt td.form-field-option-drag-cell:active,
.form-designer-field-options-dt tr.dt-rowReorder-moving td.form-field-option-drag-cell {
    cursor: grabbing;
}
/* Header row visible */
.form-designer-field-options-dt thead { display: table-header-group; }
.form-designer-field-options-dt thead th {
    padding: 0.5rem 0.75rem;
    min-height: 2.5rem;
    vertical-align: middle;
    border-bottom: 1px solid var(--bs-table-border-color, #dee2e6);
}
.form-designer-field-options-dt thead .dt-column-title { opacity: 1; visibility: visible; }
/* Column widths so Description and Actions are visible */
.form-designer-field-options-dt .form-designer-options-col-drag { width: 3rem !important; min-width: 3rem; }
.form-designer-field-options-dt .form-designer-options-col-desc {
    min-width: 0;
    width: auto;
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: anywhere;
}
.form-designer-field-options-dt .ezy-form-field-option-desc-edit:hover { text-decoration: underline !important; }
.form-designer-field-options-dt .ezy-form-field-option-desc-edit:focus-visible {
    outline: 2px solid var(--bs-primary, #0d6efd);
    outline-offset: 2px;
    border-radius: 2px;
}
.form-designer-field-options-dt .form-designer-options-col-default { width: 5rem !important; min-width: 5rem; }
.form-designer-field-options-dt .form-designer-options-col-color { width: 25px !important; min-width: 25px; }
.form-designer-field-options-dt .form-designer-options-col-actions { width: 6rem !important; min-width: 6rem; }
/* Delete icon visible (mask + background need block/inline-block and size) */
.form-designer-field-options-dt td .btn-icon,
.form-designer-field-options-dt td .btn-parent > a.btn-icon {
    display: inline-block !important;
    min-width: 2rem !important;
    min-height: 2rem !important;
    vertical-align: middle;
}
.form-designer-field-options-external-dt {
    table-layout: auto !important;
    width: auto !important;
    min-width: 100%;
}
.form-designer-field-options-external-dt thead th { padding: 0.5rem 0.75rem; min-height: 2.5rem; vertical-align: middle; }
.form-designer-field-options-external-dt .form-designer-options-external-label {
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: normal;
    min-width: 10rem;
}
.form-designer-field-options-external-dt .form-designer-options-external-value,
.form-designer-field-options-external-dt .form-designer-options-external-active {
    width: 1%;
}
.form-designer-field-options-predefined-dt thead th { padding: 0.5rem 0.75rem; min-height: 2.5rem; vertical-align: middle; }
/* Option list modal — Items tab: wider colour column for editors */
.form-designer-field-options-option-list-items-dt .form-designer-options-col-color { width: 6rem !important; min-width: 6rem; }

/* Business rule editor modal: modal-lg (700px) */
#pro_dynamic_form_rule_edit .modal-dialog.modal-lg {
    max-width: 700px;
    width: 100%;
}

/* Dashboard widget modal — keep Fields tab inside dialog bounds */
#pro_dashboard_widget_edit .modal-dialog.modal-lg {
    max-width: 640px;
    width: 100%;
}

#pro_dashboard_widget_edit .modal-content,
#pro_dashboard_widget_edit #_dashboard-widget-edit {
    max-width: 100%;
    overflow-x: hidden;
}

.ezy-plan-progress-fields {
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
}

.ezy-plan-progress-fields-table-wrap {
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
}

.ezy-plan-progress-fields-dt {
    table-layout: fixed !important;
    width: 100% !important;
    max-width: 100%;
    margin-bottom: 0;
    border-collapse: collapse;
}

.ezy-plan-progress-fields-dt thead th {
    border-top: 0 !important;
    border-bottom: 1px solid var(--bs-border-color, #dee2e6) !important;
    font-weight: 500;
    color: #6c757d;
    padding: 0.5rem 0.5rem;
}

.ezy-plan-progress-fields-dt tbody td {
    border-top: 0 !important;
    border-bottom: 1px solid var(--bs-border-color, #dee2e6) !important;
    vertical-align: middle !important;
    padding: 0.65rem 0.5rem;
    overflow: visible;
}

.ezy-plan-progress-fields-dt tbody tr:last-child td {
    border-bottom: 0 !important;
}

.ezy-plan-progress-fields-dt .ezy-plan-progress-col-drag {
    width: 2.5rem !important;
    min-width: 2.5rem;
    max-width: 2.5rem;
    padding-left: 0.5rem;
    padding-right: 0.25rem;
}

.ezy-plan-progress-fields-dt .ezy-plan-progress-col-label {
    width: auto;
    max-width: 0;
    overflow: hidden;
}

.ezy-plan-progress-fields-dt .ezy-plan-progress-col-include {
    width: 5rem !important;
    min-width: 5rem;
    max-width: 5rem;
    text-align: center;
    overflow: visible;
}

.ezy-plan-progress-fields-dt .ezy-plan-progress-field-label {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ezy-plan-progress-fields-dt .ezy-plan-progress-include-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    height: 1.5rem;
    line-height: 1;
    overflow: visible;
}

.ezy-plan-progress-fields-dt .ezy-plan-progress-include-check > span {
    top: 0;
}

.ezy-plan-progress-fields-dt .form-field-option-drag-icon {
    min-width: 20px;
    width: 20px;
}

.ezy-plan-progress-drag-helper {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.65rem 0.75rem;
    background: #fff;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.25rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
    z-index: 2000;
    box-sizing: border-box;
}

.ezy-plan-progress-drag-helper .form-field-option-drag-icon {
    flex: 0 0 auto;
    min-width: 20px;
    width: 20px;
    margin: 0;
    line-height: 1;
    cursor: grabbing;
}

.ezy-plan-progress-drag-helper-label {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 500;
}

/* Plan Progress List widget table */
.ezy-plan-progress-list-table thead th {
    font-size: inherit;
    font-weight: 600;
    color: inherit;
    vertical-align: middle;
}

.ezy-plan-progress-list-table td {
    vertical-align: middle;
    border-top: 0 !important;
    border-bottom: 1px solid var(--bs-border-color, #e9ecef) !important;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

.ezy-plan-progress-list-table tbody tr:last-child td {
    border-bottom: 0 !important;
}

.ezy-plan-progress-list-table .ezy-plan-progress-col-progress {
    min-width: 120px;
    padding-right: 1.25rem !important;
}

.ezy-plan-progress-list-table .ezy-plan-progress-col-status {
    padding-left: 0.5rem !important;
    vertical-align: middle;
}

/* Plan Progress By Focus Area widget table */
.ezy-plan-progress-by-fa-table thead th {
    font-size: inherit;
    font-weight: 600;
    color: inherit;
    vertical-align: middle;
}

.ezy-plan-progress-by-fa-table th:nth-child(3),
.ezy-plan-progress-by-fa-table td:nth-child(3) {
    padding-right: 1.25rem !important;
}

.ezy-plan-progress-by-fa-table th:nth-child(4),
.ezy-plan-progress-by-fa-table td:nth-child(4) {
    padding-left: 0.5rem !important;
}

.ezy-plan-progress-by-fa-table td {
    vertical-align: middle;
    border-top: 0 !important;
    border-bottom: 1px solid var(--bs-border-color, #e9ecef) !important;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

.ezy-plan-progress-by-fa-table tbody tr:last-child td {
    border-bottom: 0 !important;
}

.ezy-plan-progress-by-fa-dot {
    display: inline-block;
    width: 0.65rem;
    height: 0.65rem;
    border-radius: 50%;
    flex: 0 0 auto;
}

/* Promapp Migration dashboard */
.promapp-migration-page {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    background: #f4f6f9;
}
.promapp-migration-header {
    flex-shrink: 0;
    padding: 1.25rem 1.5rem;
    background: #fff;
    border-bottom: 1px solid #ebedf2;
}
.promapp-migration-header__layout {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.promapp-migration-header__intro {
    flex: 1 1 auto;
    min-width: 0;
}
.promapp-migration-header__actions {
    flex: 0 0 auto;
    margin-left: auto;
}
.promapp-migration-header__title { font-size: 1.5rem; font-weight: 700; color: #1b2a4e; margin: 0; }
.promapp-migration-header__meta { color: #6c757d; font-size: 0.9rem; }
.promapp-migration-body {
    flex: 1 1 0%;
    min-height: 0;
    overflow: hidden;
    background: #f4f6f9 !important;
    display: flex;
    flex-direction: column;
}
.promapp-migration-body.promapp-migration-body--hierarchy {
    overflow: hidden;
}
.promapp-summary-grid,
.promapp-progress-panel {
    flex-shrink: 0;
}
.promapp-migration-tabs-area {
    flex: 1 1 0%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.promapp-migration-tabs-area.promapp-migration-tabs-area--hierarchy {
    flex: 1 1 0%;
    min-height: 0;
    overflow: hidden;
}
.promapp-migration-tabs-area .nav-tabs.nav-tabs-line.promapp-migration-tabs {
    margin: 0;
    padding: 0 1rem;
    border-bottom: 1px solid #eef1f6;
}
.promapp-migration-tabs-area .nav-tabs.nav-tabs-line.promapp-migration-tabs .nav-item {
    margin-bottom: 0;
}
.promapp-migration-tabs-area .nav-tabs.nav-tabs-line.promapp-migration-tabs .nav-link {
    padding: 0.75rem 0.75rem 0.625rem;
}
#dynamic_setting_tab:has(.promapp-migration-page) {
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - 100px);
    height: calc(100vh - 100px);
    overflow: hidden;
}
.promapp-summary-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 0.75rem; }
.promapp-summary-card { border: 1px solid #ebedf2; border-radius: 0.5rem; background: #fff; padding: 0.875rem 1rem; text-align: left; box-shadow: 0 1px 2px rgba(0,0,0,.04); }
.promapp-summary-card--clickable { cursor: pointer; transition: box-shadow .15s ease, transform .15s ease; }
.promapp-summary-card--clickable:hover { box-shadow: 0 4px 12px rgba(0,0,0,.08); transform: translateY(-1px); }
.promapp-summary-card__title { font-size: 0.85rem; color: #6c757d; margin-bottom: 0.25rem; }
.promapp-summary-card__count { font-size: 1.35rem; font-weight: 700; color: #1b2a4e; line-height: 1.2; }
.promapp-summary-card__status { font-size: 0.75rem; font-weight: 600; margin-top: 0.35rem; }
.promapp-metric-loading { color: #adb5bd; }
.promapp-lazy-loading { color: #6c757d; }
.promapp-status-imported { color: #5578eb; }
.promapp-status-complete { color: var(--success, #1dc9b7); }
.promapp-status-partial { color: #ffb822; }
.promapp-status-pending { color: #fd397a; }
.promapp-status-ignored { color: #a1a8c3; }
.promapp-status-badge { display: inline-block; font-size: 0.75rem; font-weight: 600; padding: 0.15rem 0.5rem; border-radius: 999px; background: #f4f6f9; }
.promapp-status-badge.promapp-status-imported { background: #eef3ff; color: #5578eb; }
.promapp-status-badge.promapp-status-complete { background: #e8faf8; color: var(--success, #1dc9b7); }
.promapp-status-badge.promapp-status-partial { background: #fff8e6; color: #ffb822; }
.promapp-status-badge.promapp-status-pending { background: #ffeef3; color: #fd397a; }
.promapp-status-badge.promapp-status-ignored { background: #eef1f6; color: #a1a8c3; }
.promapp-progress-panel { background: #fff; border: 1px solid #ebedf2; border-radius: 0.5rem; padding: 1rem 1.25rem; }
.promapp-progress-panel__title { font-weight: 700; color: #1b2a4e; }
.promapp-progress-panel__percent { font-size: 1.5rem; font-weight: 700; color: #5578eb; }
.promapp-progress-bar { height: 0.65rem; border-radius: 999px; background: #eef1f6; }
.promapp-progress-breakdown { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.promapp-progress-breakdown__heading { font-size: 0.8rem; font-weight: 700; text-transform: uppercase; color: #6c757d; margin-bottom: 0.35rem; }
.promapp-progress-item { font-size: 0.875rem; padding: 0.15rem 0; }
.promapp-migration-tabs {
    flex-shrink: 0;
    background: #fff;
    border: 1px solid #ebedf2;
    border-radius: 0.5rem 0.5rem 0 0;
    margin-bottom: 0;
}
.promapp-migration-tab-content {
    flex: 1 1 0%;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #ebedf2;
    border-top: 0;
    border-radius: 0 0 0.5rem 0.5rem;
    padding: 1rem;
    -webkit-overflow-scrolling: touch;
}
.promapp-migration-tab-content > .tab-pane {
    min-height: 0;
}
.promapp-migration-tab-content.promapp-migration-tab-content--hierarchy,
.promapp-migration-tab-content:has(#promapp-tab-hierarchy.active) {
    flex: 1 1 0%;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.promapp-dashboard-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 1rem; }
.promapp-panel { background: #fff; border: 1px solid #ebedf2; border-radius: 0.5rem; overflow: hidden; }
.promapp-panel__head { display: flex; flex-direction: row; justify-content: space-between; align-items: center; padding: 0.875rem 1rem; border-bottom: 1px solid #eef1f6; }
.promapp-panel__title { font-size: 1rem; font-weight: 700; color: #1b2a4e; margin: 0; }
.promapp-panel__body { padding: 1rem; }
.promapp-module-list { display: flex; flex-direction: column; }
.promapp-module-row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 4fr) minmax(0, 4fr); gap: 1rem; align-items: center; padding: 0.875rem 1rem; border-bottom: 1px solid #eef1f6; }
.promapp-module-row:last-child { border-bottom: 0; }
.promapp-module-row__info { min-width: 0; }
.promapp-module-row__title { font-weight: 600; color: #1b2a4e; }
.promapp-module-row__stats { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1.25rem; min-width: 0; font-size: 0.85rem; color: #6c757d; }
.promapp-module-row__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 0.5rem; min-width: 0; }
.promapp-validation-list { display: flex; flex-direction: column; }
.promapp-validation-layout { display: grid; grid-template-columns: minmax(280px, 34%) minmax(0, 1fr); min-height: 420px; }
.promapp-validation-layout__checks { border-right: 1px solid #eef1f6; overflow: auto; max-height: 65vh; }
.promapp-validation-layout__detail { overflow: auto; max-height: 65vh; background: #fafbfc; }
.promapp-validation-detail-placeholder { padding: 2rem 1.5rem; }
.promapp-validation-detail { padding: 1rem 1.25rem; }
.promapp-validation-detail__header { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: 0.25rem; }
.promapp-validation-detail__header .promapp-validation-detail__title { margin-bottom: 0; flex: 1 1 auto; }
.promapp-validation-detail__title { font-size: 1rem; font-weight: 700; color: #1b2a4e; margin-bottom: 0.25rem; }
.promapp-validation-detail__meta { font-size: 0.8rem; color: #6c757d; margin-bottom: 1rem; }
.promapp-validation-detail__records { display: flex; flex-direction: column; gap: 0.75rem; }
.promapp-validation-record { border: 1px solid #ebedf2; border-radius: 0.5rem; background: #fff; padding: 0.875rem 1rem; }
.promapp-validation-record__reference { font-weight: 600; color: #1b2a4e; margin-bottom: 0.35rem; word-break: break-word; cursor: pointer; text-decoration: underline; text-align: left; }
.promapp-validation-record__reference:hover { color: #0d6efd; }
.promapp-validation-record__error { font-size: 0.85rem; color: #d9534f; word-break: break-word; }
.promapp-validation-record__warning { color: #f0ad4e; }
.promapp-validation-icon--info { color: #0d6efd; }
.promapp-validation-item { display: flex; gap: 0.75rem; padding: 0.75rem 1rem; border-bottom: 1px solid #eef1f6; align-items: flex-start; }
.promapp-validation-item--clickable { cursor: pointer; }
.promapp-validation-item--clickable:hover { background: #f8f9fb; }
.promapp-validation-item--active { background: #eef3ff; }
.promapp-validation-item:last-child { border-bottom: 0; }
.promapp-validation-item__module { font-weight: 600; font-size: 0.875rem; }
.promapp-validation-item__message { font-size: 0.85rem; color: #6c757d; }
.promapp-validation-json { max-height: 60vh; overflow: auto; background: #1e1e1e; color: #dcdcdc; padding: 1rem; border-radius: 0.375rem; font-size: 0.8rem; text-align: left; white-space: pre-wrap; word-break: break-word; }
.promapp-activity-list, .promapp-log-list { display: flex; flex-direction: column; }
.promapp-activity-item { display: block; padding: 0.65rem 1rem; border-bottom: 1px solid #eef1f6; font-size: 0.875rem; }
.promapp-log-item { display: flex; gap: 0.75rem; padding: 0.65rem 1rem; border-bottom: 1px solid #eef1f6; font-size: 0.875rem; }
.promapp-activity-item:last-child, .promapp-log-item:last-child { border-bottom: 0; }
.promapp-activity-item__description { color: #1b2a4e; line-height: 1.35; }
.promapp-activity-item__meta { margin-top: 0.2rem; font-size: 0.75rem; line-height: 1.3; }
.promapp-activity-item__time, .promapp-log-item__time { color: #6c757d; min-width: 7rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.promapp-configuration-list { display: flex; flex-direction: column; }
.promapp-configuration-item { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1rem; border-bottom: 1px solid #eef1f6; }
.promapp-configuration-item:last-child { border-bottom: 0; }
.promapp-configuration-item__title { font-weight: 600; color: #1b2a4e; margin-bottom: 0.25rem; }
.promapp-configuration-item__toggle { flex-shrink: 0; padding-top: 0.15rem; }
.promapp-configuration-item__badge { flex-shrink: 0; font-style: italic; }
.promapp-configuration-item--readonly .promapp-configuration-item__info { max-width: 100%; }
.promapp-import-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 1rem; }
.promapp-import-and-process-bar .promapp-panel__head { border-bottom: 0; padding-bottom: 0; }
.promapp-import-and-process-summary { padding: 0 1rem 1rem; min-height: 1.25rem; }
.promapp-progress-tab-link { display: inline-flex; align-items: center; gap: 0.35rem; }
.promapp-progress-tab-icon { font-size: 0.85rem; }
.promapp-progress-panel { padding: 1rem; }
.promapp-progress-overall { height: 0.65rem; background: #eef1f6; border-radius: 999px; overflow: hidden; }
.promapp-progress-overall-bar { background-color: #34bfa3; }
.promapp-progress-step-list { display: flex; flex-direction: column; gap: 0.875rem; }
.promapp-progress-step {
    border: 1px solid #eef1f6;
    border-radius: 0.5rem;
    padding: 0.875rem 1rem;
    background: #fff;
    line-height: 1.45;
}
.promapp-progress-step__row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
}
.promapp-progress-step__title {
    flex: 1 1 12rem;
    font-weight: 600;
    color: #1b2a4e;
    font-size: 0.95rem;
}
.promapp-progress-step__meta {
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: 0.85rem;
}
.promapp-progress-step__icon {
    flex: 0 0 auto;
    width: 1rem;
    text-align: center;
    font-size: 0.95rem;
}
.promapp-progress-step__detail {
    margin-top: 0.45rem;
    font-size: 0.85rem;
    line-height: 1.45;
    word-break: break-word;
}
.promapp-progress-step--running { border-color: #cfe2ff; background: #f8fbff; }
.promapp-progress-step--completed { border-color: #d1e7dd; }
.promapp-progress-step--skipped { opacity: 0.75; }
.promapp-progress-job-message { line-height: 1.45; }
.promapp-module-card { background: #fff; border: 1px solid #ebedf2; border-radius: 0.5rem; padding: 1rem; }
.promapp-module-card__header { display: flex; justify-content: space-between; gap: 0.75rem; align-items: flex-start; margin-bottom: 0.5rem; }
.promapp-module-card__title { font-size: 1rem; font-weight: 700; color: #1b2a4e; }
.promapp-module-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem 1rem; font-size: 0.85rem; }
.promapp-module-stats__label { display: block; color: #6c757d; font-size: 0.75rem; }
.promapp-hierarchy-search { max-width: 260px; }
.promapp-hierarchy-controls { margin-left: auto; }
.promapp-hierarchy-node--process > .promapp-hierarchy-node__label { color: #5d78ff; }
.promapp-hierarchy-tree--groups-only .promapp-hierarchy-node--process { display: none !important; }
.promapp-migration-tab-content.promapp-migration-tab-content--hierarchy > .tab-pane.promapp-tab-hierarchy.active,
.promapp-migration-tab-content:has(#promapp-tab-hierarchy.active) > .tab-pane.promapp-tab-hierarchy.active {
    min-height: 0;
    flex: 1 1 auto;
    overflow: hidden;
}
.promapp-tab-hierarchy.active {
    display: flex !important;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}
.promapp-hierarchy-panel {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.promapp-hierarchy-panel .promapp-panel__head {
    flex-shrink: 0;
}
.promapp-hierarchy-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}
.promapp-hierarchy-tree { list-style: none; padding: 1rem; margin: 0; }
.promapp-hierarchy-tree ul { list-style: none; margin: 0.25rem 0 0.25rem 1rem; padding-left: 0.75rem; border-left: 1px solid #ebedf2; }
.promapp-hierarchy-node__label { display: inline-block; padding: 0.2rem 0; font-size: 0.9rem; }
@media (max-width: 992px) {
    .promapp-dashboard-grid { grid-template-columns: 1fr; }
    .promapp-progress-breakdown { grid-template-columns: 1fr; }
    .promapp-module-row { grid-template-columns: 1fr; }
}

/* Planner Import — configuration tab */
.configuration-panel {
    background: #fff;
    border: 1px solid #ebedf2;
    border-radius: 0.5rem;
}
.configuration-panel__head {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0.875rem 1rem;
    border-bottom: 1px solid #eef1f6;
}
.configuration-panel__title,
.configuration-panel__section-title {
    font-size: 1rem;
    font-weight: 700;
    color: #1b2a4e;
    margin: 0;
}
.configuration-panel__body {
    padding: 1rem;
}
.configuration-panel__section-head {
    padding-left: 1rem;
    padding-right: 1rem;
}
.configuration-panel__body .promapp-configuration-list {
    margin-left: -1rem;
    margin-right: -1rem;
}
/* Planner Import — tab area must constrain height so tab content scrolls */
.planner-import-page .promapp-migration-body {
    overflow: hidden;
}
.planner-import-page .promapp-migration-tabs-area {
    flex: 1 1 0%;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.planner-import-page .promapp-migration-tabs-area > .promapp-migration-tab-content {
    flex: 1 1 0%;
    min-height: 0;
    height: 0;
    overflow-y: auto !important;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}
/* Company Transfer — reuse Promapp layout constraints */
.company-transfer-page .promapp-migration-body {
    overflow: hidden;
}
.company-transfer-page .promapp-migration-tabs-area {
    flex: 1 1 0%;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.company-transfer-page .promapp-migration-tabs-area > .promapp-migration-tab-content {
    flex: 1 1 0%;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
}
.company-transfer-page .company-transfer-module-filter.active,
.company-transfer-page .company-transfer-action-filter.active {
    background: var(--bs-primary);
    color: #fff;
}
.company-transfer-page #company-transfer-tab-preview {
    padding-bottom: 1.5rem;
    min-width: 0;
}
.company-transfer-page .company-transfer-preview-grid {
    align-items: stretch;
    min-width: 0;
}
.company-transfer-page .company-transfer-preview-panel {
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 420px);
    min-height: 240px;
    min-width: 0;
}
.company-transfer-page .company-transfer-preview-panel .promapp-panel__head {
    flex-shrink: 0;
}
.company-transfer-page .company-transfer-preview-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto !important;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 1.25rem;
}
.company-transfer-page .company-transfer-preview-side {
    min-width: 0;
    max-height: calc(100vh - 420px);
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.5rem;
}
.company-transfer-page .company-transfer-filter-panel {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 0 0 auto;
}
.company-transfer-page .company-transfer-filter-panel .promapp-panel__head {
    flex-shrink: 0;
}
.company-transfer-page .company-transfer-filter-scroll {
    min-width: 0;
}
.company-transfer-page .company-transfer-preview-table {
    border-collapse: collapse;
}
.company-transfer-page .company-transfer-preview-table > :not(caption) > * > * {
    border-bottom-width: 1px;
    padding: 0.85rem 1rem;
    vertical-align: top;
}
.company-transfer-page .company-transfer-preview-table tbody tr + tr > * {
    border-top: 0;
}
.company-transfer-page .company-transfer-preview-table thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #fff;
    border-bottom: 1px solid #eef1f6;
    box-shadow: 0 1px 0 #eef1f6;
}
.company-transfer-page .company-transfer-preview-row--focused > * {
    background: #eef3ff;
}

/* History / Validation / Logs / Progress — JS sets max-height to remaining viewport */
.company-transfer-page #company-transfer-tab-validation,
.company-transfer-page #company-transfer-tab-history,
.company-transfer-page #company-transfer-tab-logs,
.company-transfer-page #company-transfer-tab-progress {
    min-width: 0;
}
.company-transfer-page .promapp-validation-panel,
.company-transfer-page .company-transfer-history-panel,
.company-transfer-page .company-transfer-logs-panel,
.company-transfer-page .company-transfer-progress-panel {
    min-width: 0;
}
.company-transfer-page .promapp-validation-layout,
.company-transfer-page .company-transfer-history-layout {
    min-width: 0;
    min-height: 240px;
    grid-template-columns: minmax(0, 34%) minmax(0, 1fr);
}
.company-transfer-page .company-transfer-scroll-pane,
.company-transfer-page .promapp-validation-layout__checks,
.company-transfer-page .promapp-validation-layout__detail,
.company-transfer-page .company-transfer-logs-scroll,
.company-transfer-page .company-transfer-progress-body {
    min-width: 0;
    /* Fallback until SyncScrollPanes measures remaining space */
    max-height: 45vh;
    overflow-x: hidden;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 2.5rem;
    box-sizing: border-box;
}
.company-transfer-page .promapp-validation-detail,
.company-transfer-page .promapp-validation-detail__meta,
.company-transfer-page .promapp-validation-detail__records,
.company-transfer-page .company-transfer-validation-record,
.company-transfer-page .promapp-validation-record__reference,
.company-transfer-page .promapp-validation-record__error {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}
.company-transfer-page .promapp-validation-detail__header {
    flex-wrap: wrap;
    min-width: 0;
}
.company-transfer-page .company-transfer-validation-record {
    border: 1px solid #ebedf2;
    border-radius: 0.5rem;
    background: #fff;
    padding: 0.875rem 1rem;
    cursor: pointer;
    transition: box-shadow .15s ease, border-color .15s ease;
    display: block;
    width: 100%;
    box-sizing: border-box;
    white-space: normal;
    text-align: left;
}
.company-transfer-page .company-transfer-validation-record:hover {
    border-color: #5578eb;
    box-shadow: 0 2px 8px rgba(85, 120, 235, 0.12);
}

/* Progress */
.company-transfer-page .company-transfer-progress-panel .promapp-panel__head {
    gap: 0.75rem;
}
.company-transfer-page .company-transfer-progress-panel .promapp-panel__head #company-transfer-start-run {
    margin-left: auto;
    flex-shrink: 0;
}
.company-transfer-page .company-transfer-job-steps {
    padding-bottom: 0.75rem;
}
.company-transfer-page .company-transfer-job-step {
    display: block;
    grid-template-columns: none;
    min-width: 0;
}
.company-transfer-page .company-transfer-job-step__main {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    min-width: 0;
}
.company-transfer-page .company-transfer-job-step__detail {
    margin-top: 0.35rem;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.company-transfer-page .company-transfer-history-item--active,
.company-transfer-page .company-transfer-history-item.promapp-validation-item--active {
    background: #eef3ff;
}
.company-transfer-page .company-transfer-history-panel .promapp-validation-layout__detail {
    overflow-wrap: anywhere;
    word-break: break-word;
}
.company-transfer-page .company-transfer-log-item {
    padding: 0.875rem 1rem;
    border-bottom: 1px solid #eef1f6;
}
.company-transfer-page .company-transfer-log-item:last-child {
    border-bottom: 0;
    padding-bottom: 1.75rem;
}
.company-transfer-page .company-transfer-log-item__title {
    font-weight: 600;
    color: #1b2a4e;
}
.company-transfer-page .company-transfer-log-item__detail {
    margin-top: 0.25rem;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

@media (max-width: 991.98px) {
    .company-transfer-page .company-transfer-preview-side {
        max-height: none;
        overflow: visible;
    }
    .company-transfer-page .company-transfer-preview-panel {
        max-height: none;
        height: auto;
    }
}
