@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Noto+Sans+Khmer:wght@300;400;500;600;700&display=swap");

/*Override Default*/
.font36 .fa {
    font-size: 36px !important;
}

.font34 .fa {
    font-size: 34px !important;
}

.font32 .fa {
    font-size: 32px !important;
}

.font30 .fa {
    font-size: 30px !important;
}

.font28 .fa {
    font-size: 28px !important;
}

.font26 .fa {
    font-size: 26px !important;
}

.font24 .fa {
    font-size: 24px !important;
}

.font20 .fa {
    font-size: 20px !important;
}

.font18 .fa {
    font-size: 18px !important;
}

.font16 .fa {
    font-size: 16px !important;
}

.font14 .fa {
    font-size: 14px !important;
}

.font-size-36 {
    font-size: 36px !important;
}

.font-size-34 {
    font-size: 34px !important;
}

.font-size-32 {
    font-size: 32px !important;
}

.font-size-30 {
    font-size: 30px !important;
}

.font-size-28 {
    font-size: 28px !important;
}

.font-size-26 {
    font-size: 26px !important;
}

.font-size-24 {
    font-size: 24px !important;
}

.font-size-20 {
    font-size: 20px !important;
}

.font-size-18 {
    font-size: 18px !important;
}

.font-size-16 {
    font-size: 16px !important;
}

.font-size-14 {
    font-size: 14px !important;
}

.font-size-13 {
    font-size: 13px !important;
}

.font-size-12 {
    font-size: 12px !important;
}

.font-size-11 {
    font-size: 11px !important;
}

.font-size-10 {
    font-size: 10px !important;
}

.font-size-9 {
    font-size: 9px !important;
}

.font-size-8 {
    font-size: 8px !important;
}

/* Width */
.width-10 {
    width: 10px !important;
}

.width-15 {
    width: 15px !important;
}

.width-20 {
    width: 100px !important;
}

.width-25 {
    width: 25px !important;
}

.width-30 {
    width: 30px !important;
}

.width-35 {
    width: 35px !important;
}

.width-40 {
    width: 40px !important;
}

.width-45 {
    width: 45px !important;
}

.width-50 {
    width: 50px !important;
}

.width-55 {
    width: 55px !important;
}

.width-60 {
    width: 60px !important;
}

.width-65 {
    width: 65px !important;
}

.width-70 {
    width: 70px !important;
}

.width-75 {
    width: 75px !important;
}

.width-80 {
    width: 80px !important;
}

.width-85 {
    width: 85px !important;
}

.width-90 {
    width: 90px !important;
}

.width-95 {
    width: 95px !important;
}

.width-100 {
    width: 100px !important;
}

.width-105 {
    width: 105px !important;
}

.width-110 {
    width: 110px !important;
}

.width-115 {
    width: 115px !important;
}

.width-120 {
    width: 120px !important;
}

.width-125 {
    width: 125px !important;
}

.width-130 {
    width: 130px !important;
}

.width-135 {
    width: 135px !important;
}

.width-140 {
    width: 140px !important;
}

.width-145 {
    width: 145px !important;
}

.width-150 {
    width: 150px !important;
}

.width-155 {
    width: 155px !important;
}

.width-160 {
    width: 160px !important;
}

.width-165 {
    width: 165px !important;
}

.width-170 {
    width: 170px !important;
}

.width-175 {
    width: 175px !important;
}

.width-180 {
    width: 180px !important;
}

.width-185 {
    width: 185px !important;
}

.width-190 {
    width: 190px !important;
}

.width-195 {
    width: 195px !important;
}

.width-200 {
    width: 200px !important;
}

.width-250 {
    width: 250px !important;
}

.width-300 {
    width: 300px !important;
}

.width-350 {
    width: 350px !important;
}

.width-400 {
    width: 400px !important;
}

.width-450 {
    width: 450px !important;
}

.width-500 {
    width: 500px !important;
}

/*margin None*/
.none-margin {
    margin: 0 !important;
}

.none-margin-left {
    margin-left: 0 !important;
}

.none-margin-right {
    margin-right: 0 !important;
}

.none-margin-top {
    margin-top: 0 !important;
}

.none-margin-bottom {
    margin-bottom: 0 !important;
}

/*margin*/
.margin-1 {
    margin: 1px !important;
}

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

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

.margin-4 {
    margin: 4px !important;
}

.margin-5 {
    margin: 5px !important;
}

.margin-6 {
    margin: 6px !important;
}

.margin-7 {
    margin: 7px !important;
}

.margin-8 {
    margin: 8px !important;
}

.margin-9 {
    margin: 9px !important;
}

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

.margin-15 {
    margin: 15px !important;
}

.margin-20 {
    margin: 20px !important;
}

.margin-25 {
    margin: 25px !important;
}

.margin-30 {
    margin: 30px !important;
}

.margin-35 {
    margin: 35px !important;
}

.margin-40 {
    margin: 40px !important;
}

.margin-45 {
    margin: 45px !important;
}

.margin-50 {
    margin: 50px !important;
}

/*margin left*/
.margin-left-1 {
    margin-left: 1px !important;
}

.margin-left-2 {
    margin-left: 2px !important;
}

.margin-left-3 {
    margin-left: 3px !important;
}

.margin-left-4 {
    margin-left: 4px !important;
}

.margin-left-5 {
    margin-left: 5px !important;
}

.margin-left-6 {
    margin-left: 6px !important;
}

.margin-left-7 {
    margin-left: 7px !important;
}

.margin-left-8 {
    margin-left: 8px !important;
}

.margin-left-9 {
    margin-left: 9px !important;
}

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

.margin-left-15 {
    margin-left: 15px !important;
}

.margin-left-20 {
    margin-left: 20px !important;
}

.margin-left-25 {
    margin-left: 25px !important;
}

.margin-left-30 {
    margin-left: 30px !important;
}

.margin-left-35 {
    margin-left: 35px !important;
}

.margin-left-40 {
    margin-left: 40px !important;
}

.margin-left-45 {
    margin-left: 45px !important;
}

.margin-left-50 {
    margin-left: 50px !important;
}

/*margin right*/
.margin-right-1 {
    margin-right: 1px !important;
}

.margin-right-2 {
    margin-right: 2px !important;
}

.margin-right-3 {
    margin-right: 3px !important;
}

.margin-right-4 {
    margin-right: 4px !important;
}

.margin-right-5 {
    margin-right: 5px !important;
}

.margin-right-6 {
    margin-right: 6px !important;
}

.margin-right-7 {
    margin-right: 7px !important;
}

.margin-right-8 {
    margin-right: 8px !important;
}

.margin-right-9 {
    margin-right: 9px !important;
}

.margin-right-10 {
    margin-right: 10px !important;
}

.margin-right-15 {
    margin-right: 15px !important;
}

.margin-right-20 {
    margin-right: 20px !important;
}

.margin-right-25 {
    margin-right: 25px !important;
}

.margin-right-30 {
    margin-right: 30px !important;
}

.margin-right-35 {
    margin-right: 35px !important;
}

.margin-right-40 {
    margin-right: 40px !important;
}

.margin-right-45 {
    margin-right: 45px !important;
}

.margin-right-50 {
    margin-right: 50px !important;
}

/*margin top*/
.margin-top-1 {
    margin-top: 1px !important;
}

.margin-top-2 {
    margin-top: 2px !important;
}

.margin-top-3 {
    margin-top: 3px !important;
}

.margin-top-4 {
    margin-top: 4px !important;
}

.margin-top-5 {
    margin-top: 5px !important;
}

.margin-top-6 {
    margin-top: 6px !important;
}

.margin-top-7 {
    margin-top: 7px !important;
}

.margin-top-8 {
    margin-top: 8px !important;
}

.margin-top-9 {
    margin-top: 9px !important;
}

.margin-top-10 {
    margin-top: 10px !important;
}

.margin-top-15 {
    margin-top: 15px !important;
}

.margin-top-20 {
    margin-top: 20px !important;
}

.margin-top-25 {
    margin-top: 25px !important;
}

.margin-top-30 {
    margin-top: 30px !important;
}

.margin-top-35 {
    margin-top: 35px !important;
}

.margin-top-40 {
    margin-top: 40px !important;
}

.margin-top-45 {
    margin-top: 45px !important;
}

.margin-top-50 {
    margin-top: 50px !important;
}

/*margin bottom*/
.margin-bottom-1 {
    margin-bottom: 1px !important;
}

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

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

.margin-bottom-4 {
    margin-bottom: 4px !important;
}

.margin-bottom-5 {
    margin-bottom: 5px !important;
}

.margin-bottom-6 {
    margin-bottom: 6px !important;
}

.margin-bottom-7 {
    margin-bottom: 7px !important;
}

.margin-bottom-8 {
    margin-bottom: 8px !important;
}

.margin-bottom-9 {
    margin-bottom: 9px !important;
}

.margin-bottom-10 {
    margin-bottom: 10px !important;
}

.margin-bottom-15 {
    margin-bottom: 15px !important;
}

.margin-bottom-20 {
    margin-bottom: 20px !important;
}

.margin-bottom-25 {
    margin-bottom: 25px !important;
}

.margin-bottom-30 {
    margin-bottom: 30px !important;
}

.margin-bottom-35 {
    margin-bottom: 35px !important;
}

.margin-bottom-40 {
    margin-bottom: 40px !important;
}

.margin-bottom-45 {
    margin-bottom: 45px !important;
}

.margin-bottom-50 {
    margin-bottom: 50px !important;
}

/*padding None*/
.none-padding {
    padding: 0 !important;
}

.none-padding-left {
    padding-left: 0 !important;
}

.none-padding-right {
    padding-right: 0 !important;
}

.none-padding-top {
    padding-top: 0 !important;
}

.none-padding-bottom {
    padding-bottom: 0 !important;
}

/*padding*/
.padding-1 {
    padding: 1px !important;
}

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

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

.padding-4 {
    padding: 4px !important;
}

.padding-5 {
    padding: 5px !important;
}

.padding-6 {
    padding: 6px !important;
}

.padding-7 {
    padding: 7px !important;
}

.padding-8 {
    padding: 8px !important;
}

.padding-9 {
    padding: 9px !important;
}

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

.padding-15 {
    padding: 15px !important;
}

.padding-20 {
    padding: 20px !important;
}

.padding-25 {
    padding: 25px !important;
}

.padding-30 {
    padding: 30px !important;
}

.padding-35 {
    padding: 35px !important;
}

.padding-40 {
    padding: 40px !important;
}

.padding-45 {
    padding: 45px !important;
}

.padding-50 {
    padding: 50px !important;
}

/*padding left*/
.padding-left-1 {
    padding-left: 1px !important;
}

.padding-left-2 {
    padding-left: 2px !important;
}

.padding-left-3 {
    padding-left: 3px !important;
}

.padding-left-4 {
    padding-left: 4px !important;
}

.padding-left-5 {
    padding-left: 5px !important;
}

.padding-left-6 {
    padding-left: 6px !important;
}

.padding-left-7 {
    padding-left: 7px !important;
}

.padding-left-8 {
    padding-left: 8px !important;
}

.padding-left-9 {
    padding-left: 9px !important;
}

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

.padding-left-15 {
    padding-left: 15px !important;
}

.padding-left-20 {
    padding-left: 20px !important;
}

.padding-left-25 {
    padding-left: 25px !important;
}

.padding-left-30 {
    padding-left: 30px !important;
}

.padding-left-35 {
    padding-left: 35px !important;
}

.padding-left-40 {
    padding-left: 40px !important;
}

.padding-left-45 {
    padding-left: 45px !important;
}

.padding-left-50 {
    padding-left: 50px !important;
}

/*padding right*/
.padding-right-1 {
    padding-right: 1px !important;
}

.padding-right-2 {
    padding-right: 2px !important;
}

.padding-right-3 {
    padding-right: 3px !important;
}

.padding-right-4 {
    padding-right: 4px !important;
}

.padding-right-5 {
    padding-right: 5px !important;
}

.padding-right-6 {
    padding-right: 6px !important;
}

.padding-right-7 {
    padding-right: 7px !important;
}

.padding-right-8 {
    padding-right: 8px !important;
}

.padding-right-9 {
    padding-right: 9px !important;
}

.padding-right-10 {
    padding-right: 10px !important;
}

.padding-right-15 {
    padding-right: 15px !important;
}

.padding-right-20 {
    padding-right: 20px !important;
}

.padding-right-25 {
    padding-right: 25px !important;
}

.padding-right-30 {
    padding-right: 30px !important;
}

.padding-right-35 {
    padding-right: 35px !important;
}

.padding-right-40 {
    padding-right: 40px !important;
}

.padding-right-45 {
    padding-right: 45px !important;
}

.padding-right-50 {
    padding-right: 50px !important;
}

/*padding top*/
.padding-top-1 {
    padding-top: 1px !important;
}

.padding-top-2 {
    padding-top: 2px !important;
}

.padding-top-3 {
    padding-top: 3px !important;
}

.padding-top-4 {
    padding-top: 4px !important;
}

.padding-top-5 {
    padding-top: 5px !important;
}

.padding-top-6 {
    padding-top: 6px !important;
}

.padding-top-7 {
    padding-top: 7px !important;
}

.padding-top-8 {
    padding-top: 8px !important;
}

.padding-top-9 {
    padding-top: 9px !important;
}

.padding-top-10 {
    padding-top: 10px !important;
}

.padding-top-15 {
    padding-top: 15px !important;
}

.padding-top-20 {
    padding-top: 20px !important;
}

.padding-top-25 {
    padding-top: 25px !important;
}

.padding-top-30 {
    padding-top: 30px !important;
}

.padding-top-35 {
    padding-top: 35px !important;
}

.padding-top-40 {
    padding-top: 40px !important;
}

.padding-top-45 {
    padding-top: 45px !important;
}

.padding-top-50 {
    padding-top: 50px !important;
}

/*padding bottom*/
.padding-bottom-1 {
    padding-bottom: 1px !important;
}

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

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

.padding-bottom-4 {
    padding-bottom: 4px !important;
}

.padding-bottom-5 {
    padding-bottom: 5px !important;
}

.padding-bottom-6 {
    padding-bottom: 6px !important;
}

.padding-bottom-7 {
    padding-bottom: 7px !important;
}

.padding-bottom-8 {
    padding-bottom: 8px !important;
}

.padding-bottom-9 {
    padding-bottom: 9px !important;
}

.padding-bottom-10 {
    padding-bottom: 10px !important;
}

.padding-bottom-15 {
    padding-bottom: 15px !important;
}

.padding-bottom-20 {
    padding-bottom: 20px !important;
}

.padding-bottom-25 {
    padding-bottom: 25px !important;
}

.padding-bottom-30 {
    padding-bottom: 30px !important;
}

.padding-bottom-35 {
    padding-bottom: 35px !important;
}

.padding-bottom-40 {
    padding-bottom: 40px !important;
}

.padding-bottom-45 {
    padding-bottom: 45px !important;
}

.padding-bottom-50 {
    padding-bottom: 50px !important;
}

/*border*/
.border {
    border: solid 1px #111 !important;
}

.border-left {
    border-left: solid 1px #111 !important;
}

.border-right {
    border-right: solid 1px #111 !important;
}

.border-top {
    border-top: solid 1px #111 !important;
}

.border-bottom {
    border-bottom: solid 1px #111 !important;
}

/*none border*/
.none-border {
    border: none !important;
}

.none-border-left {
    border-left: none !important;
}

.none-border-right {
    border-right: none !important;
}

.none-border-top {
    border-top: none !important;
}

.none-border-bottom {
    border-bottom: none !important;
}

.border-color-ddd {
    border-color: #ddd !important;
}

.border-color-ccc {
    border-color: #ccc !important;
}

.label {
    border-radius: 15px !important;
}

.border-thin {
    border-width: 0.5px !important;
}

#loading {
    display: none;
    position: fixed;
    overflow: auto;
    overflow-x: hidden;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 5000;
    background: rgba(248, 251, 255, 0.38);
}

#loading .content-loading {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: 0;
    background: transparent;
    color: var(--si-brand-blue);
    width: 96px;
    height: 96px;
    z-index: 6000;
    transform: translate(-50%, -50%);
}

#loading .si-page-loading-spinner {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 96px;
    height: 96px;
    border: 1px solid rgba(14, 77, 143, 0.12);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 20px 48px rgba(14, 77, 143, 0.16);
    animation: si-page-loading-pop 0.22s ease-out;
}

#loading .si-page-loading-spinner .fa {
    font-size: 36px;
    color: var(--si-brand-blue);
}

.si-inline-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 64px;
    padding: 12px 0;
}

.si-inline-loading-spinner {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(14, 77, 143, 0.12);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 12px 26px rgba(14, 77, 143, 0.14);
    animation: si-page-loading-pop 0.22s ease-out;
}

.si-inline-loading-spinner .fa {
    font-size: 18px;
    color: var(--si-brand-blue);
}

.si-inline-loading.is-inline {
    display: inline-flex;
    width: auto;
    min-height: 0;
    padding: 0;
    vertical-align: middle;
}

.si-inline-loading.is-inline .si-inline-loading-spinner {
    width: 32px;
    height: 32px;
    border-radius: 11px;
    box-shadow: 0 10px 22px rgba(14, 77, 143, 0.12);
}

.si-inline-loading.is-inline .si-inline-loading-spinner .fa {
    font-size: 15px;
}

@keyframes si-page-loading-pop {
    from {
        opacity: 0;
        transform: scale(0.92);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

#btnMsgClose {
    margin-top: -15px;
    margin-right: -10px;
}

.group-item {
    font-weight: bold;
    padding-left: 5px;
}

table th a {
    color: #111;
    text-decoration: none;
}

table th a:hover,
table td a:hover {
    text-decoration: none;
}

table td a:hover {
    text-decoration: underline;
}

.table .sorting {
    background: url("../img/sorting.png") no-repeat right center #f4f4f4 !important;
}

.table .sorting_asc {
    background: url("../img/sorting-asc.png") no-repeat right center #f4f4f4 !important;
}

.table .sorting_desc {
    background: url("../img/sorting-desc.png") no-repeat right center #f4f4f4 !important;
}

/* .table .sorting_asc  a:after,
.table .sorting_desc  a:after{
	font: bold 14px/1 FontAwesome;
	position:absolute;
	margin-left: 6px;
	top: 12px;
}
.table .sorting_asc  a:after {
   content: "";
}
.table .sorting_desc  a:after {
    content: "";
} */
.modalbox,
#modalbox {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: none;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 58px 16px 24px;
    z-index: 5500;
}

.modalbox .modalbox-backdrop,
#modalbox .modalbox-backdrop {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(13, 17, 23, 0.42);
}

.modalbox .devoops-modal,
#modalbox .devoops-modal {
    position: relative;
    margin: 0 auto;
    width: 60%;
    max-width: 920px;
    border: 1px solid var(--si-border);
    border-radius: 16px;
    background: var(--si-white);
    box-shadow: 0 26px 52px rgba(16, 24, 40, 0.2);
    overflow: hidden;
    z-index: 6000;
}

.modalbox .devoops-modal-header,
#modalbox .devoops-modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    min-height: 0;
    padding: 16px 18px 12px;
    border-bottom: 1px solid var(--si-border);
    background: linear-gradient(135deg, rgba(14, 77, 143, 0.05), rgba(181, 212, 244, 0.16));
    color: var(--si-ink);
}

.modalbox .devoops-modal-inner,
#modalbox .devoops-modal-inner {
    position: relative;
    padding: 18px;
    background: var(--si-white);
    overflow: visible;
}

.modalbox .devoops-modal-bottom,
#modalbox .devoops-modal-bottom {
    padding: 12px 18px 16px;
    border-top: 1px solid var(--si-border);
    background: linear-gradient(180deg, rgba(248, 249, 251, 0.82), rgba(255, 255, 255, 0.95));
    overflow: hidden;
    position: relative;
}

.action-bar {
    border-top: 1px solid #ccc;
    padding-top: 15px;
}

.box-name,
.modal-header-name {
    flex: 1 1 auto;
    min-width: 0;
    line-height: 1.2;
    padding-left: 0;
    font-size: 18px;
    font-weight: 700;
    color: var(--si-ink);
}

.modal-header-name span {
    display: block;
}

.box-name:hover {
    cursor: move;
}

.box-name>i {
    margin-right: 5px;
}

.box-icons {
    position: static;
    flex: 0 0 auto;
    z-index: 9;
}

.box-icons a,
.box-icons button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid var(--si-border);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.86);
    color: var(--si-slate);
    cursor: pointer;
    float: none;
    font-size: 16px;
    line-height: 1;
    text-align: center;
    text-decoration: none !important;
    transition: all 0.2s ease 0s;
    box-shadow: none;
}

.box-icons a:hover,
.box-icons a:focus,
.box-icons button:hover,
.box-icons button:focus {
    background: #fff;
    border-color: rgba(14, 77, 143, 0.18);
    color: var(--si-brand-blue);
    outline: none;
}

.modalbox .devoops-modal-inner form,
#modalbox .devoops-modal-inner form {
    margin: 0;
}

.modalbox .devoops-modal-inner #error-container:empty,
#modalbox .devoops-modal-inner #error-container:empty {
    display: none;
}

.modalbox .devoops-modal-inner #error-container,
#modalbox .devoops-modal-inner #error-container {
    margin-bottom: 14px;
}

.modalbox .devoops-modal-inner .box,
#modalbox .devoops-modal-inner .box {
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.modalbox .devoops-modal-inner .box>.box-title,
#modalbox .devoops-modal-inner .box>.box-title {
    display: none;
}

.modalbox .devoops-modal-inner .box>.box-content,
.modalbox .devoops-modal-inner .box-content,
#modalbox .devoops-modal-inner .box>.box-content,
#modalbox .devoops-modal-inner .box-content {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.modalbox .devoops-modal-inner .portal-modal-form,
#modalbox .devoops-modal-inner .portal-modal-form {
    margin: 0;
}

.modalbox .devoops-modal-inner .portal-modal-intro,
#modalbox .devoops-modal-inner .portal-modal-intro {
    margin: 0 0 16px;
    padding: 12px 14px;
    border: 1px solid rgba(14, 77, 143, 0.12);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(14, 77, 143, 0.04), rgba(181, 212, 244, 0.12));
    color: var(--si-slate);
    font-size: 13px;
    line-height: 1.55;
}

.modalbox .devoops-modal-inner .portal-modal-section-title,
#modalbox .devoops-modal-inner .portal-modal-section-title {
    margin: 2px 0 12px;
    color: var(--si-ink);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.modalbox .devoops-modal-inner .form-group,
#modalbox .devoops-modal-inner .form-group {
    margin-bottom: 14px;
}

.modalbox .devoops-modal-inner .control-label,
#modalbox .devoops-modal-inner .control-label {
    color: var(--si-slate);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding-top: 10px;
}

.modalbox .devoops-modal-inner .form-control,
.modalbox .devoops-modal-inner .select2-container .select2-choice,
#modalbox .devoops-modal-inner .form-control,
#modalbox .devoops-modal-inner .select2-container .select2-choice {
    min-height: 38px;
    border: 1px solid var(--si-border);
    border-radius: 10px !important;
    background: #fbfdff !important;
    color: var(--si-ink);
    box-shadow: none !important;
}

.modalbox .devoops-modal-inner textarea.form-control,
#modalbox .devoops-modal-inner textarea.form-control {
    min-height: 88px;
    padding-top: 9px;
    padding-bottom: 9px;
}

.modalbox .devoops-modal-inner .select2-container,
#modalbox .devoops-modal-inner .select2-container {
    width: 100% !important;
    display: block;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.modalbox .devoops-modal-inner .select2-container .select2-choice,
#modalbox .devoops-modal-inner .select2-container .select2-choice {
    display: flex;
    align-items: center;
    height: 38px;
    padding-left: 11px;
    padding-right: 36px;
    line-height: 36px;
}

.modalbox .devoops-modal-inner .select2-container .select2-choice .select2-arrow,
#modalbox .devoops-modal-inner .select2-container .select2-choice .select2-arrow {
    top: 7px;
    right: 8px;
    width: 18px;
    height: 100%;
    border-left: 0;
    background: transparent;
    border-radius: 0;
}

.modalbox .devoops-modal-inner .select2-container .select2-choice .select2-arrow b,
#modalbox .devoops-modal-inner .select2-container .select2-choice .select2-arrow b {
    width: 18px;
    height: 100%;
    margin: 0;
    background-position: 0 50% !important;
    background-repeat: no-repeat !important;
}

.modalbox .devoops-modal-inner .select2-container.select2-dropdown-open .select2-choice .select2-arrow b,
#modalbox .devoops-modal-inner .select2-container.select2-dropdown-open .select2-choice .select2-arrow b {
    background-position: -18px 50% !important;
}

.modalbox .devoops-modal-inner .form-control:focus,
.modalbox .devoops-modal-inner .select2-container.select2-container-active .select2-choice,
#modalbox .devoops-modal-inner .form-control:focus,
#modalbox .devoops-modal-inner .select2-container.select2-container-active .select2-choice {
    border-color: var(--si-brand-blue) !important;
    box-shadow: 0 0 0 3px rgba(14, 77, 143, 0.12) !important;
}

.modalbox .devoops-modal-inner .portal-modal-date-control,
#modalbox .devoops-modal-inner .portal-modal-date-control {
    position: relative;
}

.modalbox .devoops-modal-inner .portal-modal-date-control .form-control,
#modalbox .devoops-modal-inner .portal-modal-date-control .form-control {
    padding-left: 36px !important;
}

.modalbox .devoops-modal-inner .portal-modal-date-control .form-control-feedback,
#modalbox .devoops-modal-inner .portal-modal-date-control .form-control-feedback {
    top: 0 !important;
    bottom: 0;
    left: 11px !important;
    right: auto !important;
    display: flex;
    align-items: center;
    width: auto !important;
    margin-left: 0 !important;
    background: transparent !important;
    color: var(--si-slate) !important;
    transform: none !important;
    opacity: 0.7;
    pointer-events: none;
}

.modalbox .devoops-modal-inner .portal-modal-date-control .form-control-feedback:before,
#modalbox .devoops-modal-inner .portal-modal-date-control .form-control-feedback:before {
    float: none;
    margin: 0;
    font-size: 14px;
}

.modalbox .devoops-modal-inner .table,
#modalbox .devoops-modal-inner .table {
    margin-bottom: 0;
}

.modalbox .devoops-modal-inner .table>thead>tr>th,
#modalbox .devoops-modal-inner .table>thead>tr>th {
    padding: 10px 12px;
    border-color: var(--si-border);
    background: #f6f8fb;
    color: var(--si-slate);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.modalbox .devoops-modal-inner .table>tbody>tr>td,
.modalbox .devoops-modal-inner .table>tfoot>tr>td,
#modalbox .devoops-modal-inner .table>tbody>tr>td,
#modalbox .devoops-modal-inner .table>tfoot>tr>td {
    padding: 12px;
    border-color: var(--si-border);
    color: var(--si-ink);
    vertical-align: middle;
}

.modalbox .devoops-modal-inner .quiet-notice,
#modalbox .devoops-modal-inner .quiet-notice {
    margin: 12px 0 0;
    padding: 12px 14px;
    border: 1px dashed var(--si-border);
    border-radius: 12px;
    background: #fbfdff;
    color: var(--si-slate);
}

.modalbox .devoops-modal-inner .alert,
#modalbox .devoops-modal-inner .alert {
    border-radius: 12px;
}

.modalbox .devoops-modal-inner .btn:not(.btn-danger):not(.btn-primary):not(.btn-success):not(.btn-info):not(.btn-warning):not(.btn-orange):not(.btn-blue),
#modalbox .devoops-modal-inner .btn:not(.btn-danger):not(.btn-primary):not(.btn-success):not(.btn-info):not(.btn-warning):not(.btn-orange):not(.btn-blue) {
    border: 1px solid var(--si-border);
    border-radius: 10px;
    background: #fff;
    color: var(--si-brand-blue);
    box-shadow: none;
}

.modalbox .devoops-modal-inner .form-actions,
.modalbox .devoops-modal-inner .action-bar,
#modalbox .devoops-modal-inner .form-actions,
#modalbox .devoops-modal-inner .action-bar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--si-border);
    text-align: right;
}

.modalbox .devoops-modal-inner .form-actions.text-center,
.modalbox .devoops-modal-inner .action-bar.text-center,
#modalbox .devoops-modal-inner .form-actions.text-center,
#modalbox .devoops-modal-inner .action-bar.text-center {
    justify-content: flex-end;
}

.modalbox .devoops-modal-inner .form-actions .btn,
.modalbox .devoops-modal-inner .action-bar .btn,
#modalbox .devoops-modal-inner .form-actions .btn,
#modalbox .devoops-modal-inner .action-bar .btn {
    min-width: 120px;
}

.fixed_table_thead {
    position: fixed;
    background: #FFF;
    top: 41px;
    z-index: 1;
}

.pagination {
    margin: 0;
}

.table>thead>tr>th,
.table>tbody>tr>th,
.table>tfoot>tr>th,
.table>thead>tr>td,
.table>tbody>tr>td,
.table>tfoot>tr>td {
    padding: 6px;
}

.select2-container {
    width: 100%;
}

.ui-datepicker {
    font-size: 14px;
}

.tab-link {
    display: block;
    padding: 5px;
}

.tab-link:hover {
    text-decoration: none;
}

.btn {
    margin-top: 5px;
    border: 0.5px solid #aaa;
}

#main .page-header .pull-left h1 {
    font-size: 36px;
}

/* Override Calendar */
.ui-widget {
    font-family: 'Open Sans', sans-serif !important;
}

.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
    border: none !important;
}

.ui-datepicker td span,
.ui-datepicker td a {
    padding: 2px 0;
    width: 24px;
    display: block;
    border: 0;
    background: none;
    text-align: center;
}

.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
    width: 30%;
    margin: 0 5px;
}

.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
    color: #204e81;
}

.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
    color: #F00;
}

/*End Override Calendar */
/* Override select2 */
.select2-container .select2-choice {
    height: 34px;
    line-height: 30px;
    font-size: 14px;
}

.select2-container .select2-choice .select2-arrow {
    top: 2px;
}

/*End Override select2 */
/* .form-horizontal .form-group1:before,
.form-horizontal .form-group1:after{
	display: table;
    content: " ";
	clear: both;
}
.form-horizontal .form-group1 {
    margin-right: -15px;
    margin-left: -15px;
}
.form-group1 {
    margin-bottom: 15px;
} */
.form-group {
    margin-bottom: 10px;
}

.input-normal {
    border: 1px solid #ccc !important;
    color: #333 !important;
}

.has-error .select2-container a {
    border-color: #a94442 !important;
}

.item-selected {
    /*	text-decoration: underline; */
    background: #EFEBDE;
    border-color: #B8D6FB;
    padding: 2px;
}

.input-group-other {
    position: relative;
    display: table;
    border-collapse: separate;
}

.input-group-other .has-error {
    position: absolute;
}

.help-block {
    margin-top: 0;
    margin-bottom: 0;
}

.help-block.has-error {
    color: #FF0000;
}

.relative {
    position: relative;
}

.absolute {
    position: absolute;
}

.has-required {
    border-color: #a94442 !important;
}

.cke {
    border: 1px solid #d7e0ea !important;
    border-radius: 12px !important;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.cke:hover {
    border-color: #bdd0e3 !important;
}

.cke.cke_focus,
.cke:focus-within {
    border-color: #6aa4da !important;
    box-shadow: 0 0 0 4px rgba(54, 142, 224, 0.12);
}

.cke.has-required,
.has-required.cke {
    border-color: #d9534f !important;
    box-shadow: 0 0 0 4px rgba(217, 83, 79, 0.12);
}

.cke .cke_inner {
    border: 0 !important;
    background: #fff;
}

.cke .cke_top {
    padding: 8px 10px 6px;
    border-bottom: 1px solid #e5edf5;
    background: linear-gradient(180deg, #f8fbff, #f2f7fc);
    box-shadow: none;
}

.cke .cke_top .cke_toolgroup {
    margin: 0 6px 6px 0;
    padding: 1px;
    border: 1px solid #d7e0ea;
    border-radius: 5px;
    background: #fff;
    box-shadow: none;
}

.cke .cke_toolbar_separator {
    display: none;
}

.cke .cke_button {
    border: 0;
    border-radius: 8px;
}

.cke .cke_button:hover,
.cke .cke_button:focus,
.cke .cke_button.cke_button_on {
    background: rgba(54, 142, 224, 0.12);
    box-shadow: none;
}

.cke .cke_button.cke_button_disabled:hover {
    background: transparent;
}

.cke .cke_contents {
    background: #fff;
}

.cke .cke_contents iframe {
    background: #fff;
}

.cke .cke_bottom {
    padding: 7px 12px;
    border-top: 1px solid #e5edf5;
    background: #f8fafc;
    box-shadow: none;
}

.portal-mode-dense .cke {
    border-radius: 14px !important;
}

.portal-mode-dense .cke .cke_top {
    padding: 5px 10px 0px;
}

.portal-mode-dense .cke .cke_contents {
    min-height: 75px;
}

/* Color */
.brown-color {
    color: #ccc !important;
}

.black-color {
    color: #000 !important;
}

.satgreen-color {
    color: #448a37 !important;
}

.satgreen {
    background: #448a37 !important;
    /*  background: #56af45; */
    color: #fff !important;
}

.lightred-color {
    color: #d21b1b !important;
}

.lightred {
    background: #d21b1b !important;
    color: #fff !important;
}

.darkblue-color {
    color: #163558 !important;
}

.darkblue {
    background: #163558 !important;
    color: #fff !important;
}

.satblue-color {
    color: #2c5e7b !important;
}

.satblue {
    background: #2c5e7b !important;
    color: #fff !important;
}

.blue-color {
    color: #368ee0 !important;
}

.blue {
    /* background: #1e74c5 !important; */
    background: #368ee0 !important;
    color: #fff !important;
}

.orange-color {
    color: #f8a31f !important;
}

.orange {
    /* background: #dd8907; */
    background: #f8a31f !important;
    color: #fff !important;
}

.grey1-color {
    color: #808080 !important;
}

.grey-color {
    color: #1a1a1a !important;
}

.grey {
    background: #1a1a1a !important;
    color: #fff !important;
}

.start,
.red-color {
    color: #f00 !important;
}

.red {
    background: #b21000 !important;
    color: #fff !important;
}

.satgreen-color {
    color: #56af45 !important;
}

.satgreen {
    background: #56af45 !important;
    color: #fff !important;
}

.green-color {
    color: #339933 !important;
}

.green {
    /*  background: #267326; */
    background: #339933 !important;
    color: #fff !important;
}

.lightgrey-color {
    color: #666666 !important;
}

.lightgrey {
    background: #666666 !important;
    color: #fff !important;
}

.status_active {
    background-color: #eee !important;
    border-color: #ddd !important;
}

.cls_status {
    font-size: 11px;
    padding: 2px 5px;
    border-radius: 2px;
    /*    text-transform: uppercase;*/
    text-wrap-mode: nowrap;
}

input[type=submit] {
    font-weight: bold;
}

#target_invoices,
#target_pay_for {
    margin: 10px 0px;
    width: 100%;
    box-sizing: border-box;
}

#target_invoices {
    border: 1px solid #ccc;
    padding: 10px;
}

.payment-mode-toggle {
    display: inline-flex;
    border: 1px solid #ccc;
    border-radius: 4px;
    overflow: hidden;
    background: #fff;
    width: 100%;
}

.payment-mode-input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.payment-mode-option {
    flex: 1 1 50%;
    margin: 0;
    padding: 8px 12px;
    text-align: center;
    font-weight: 600;
    cursor: pointer;
    color: #555;
    background: #fff;
    transition: background-color .2s ease, color .2s ease;
}

.payment-mode-option+.payment-mode-input+.payment-mode-option {
    border-left: 1px solid #ccc;
}

.payment-mode-option.active,
.payment-mode-input:checked+.payment-mode-option {
    background: #368ee0;
    color: #fff;
}

.payment-mode-option:hover {
    background: #f5f8fc;
}

.payment-mode-option.active:hover,
.payment-mode-input:checked+.payment-mode-option:hover {
    background: #2c7ac3;
}

.payment-mode-option i.fa-info-circle {
    margin-left: 5px;
    color: #718096;
    cursor: help;
}

.payment-mode-option.active i.fa-info-circle,
.payment-mode-input:checked+.payment-mode-option i.fa-info-circle {
    color: rgba(255, 255, 255, 0.85);
}

.quiet-notice {
    color: #999;
    text-align: center;
}

#loading-customer {
    position: absolute;
    top: 7px;
    right: -14px;
    min-width: 32px;
    min-height: 32px;
}

#loading-customer .si-inline-loading {
    width: auto;
    min-height: 0;
    padding: 0;
}

input.hasDatepicker {
    padding-left: 35px;
}

input.hasDatepicker~span.fa-calendar {
    top: 0px;
    opacity: 0.4;
    left: 0;
    width: 30px;
    background: #ccc;
    cursor: pointer;
}

input.hasDatepicker~span.fa-calendar:before {
    float: left;
    margin-top: 25%;
    margin-left: 7px;
    font-size: 16px;
}

#ex_rate {
    display: inline-block;
    width: 90px;
}

#ex_rate_box {
    display: inline-block;
}

.clearbox {
    clear: both;
    overflow: auto;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: #107dbd;
    font-weight: 700;
}

.login .wrapper .login-body h2 {
    text-align: center;
}

.curreny-kh {
    line-height: 14px;
    font-size: 13px;
}

/* Start Accounting brand system */
:root {
    --si-brand-blue: #0e4d8f;
    --si-brand-blue-700: #0a3d72;
    --si-brand-blue-800: #062e57;
    --si-blue-050: #e6f1fb;
    --si-blue-100: #b5d4f4;
    --si-ink: #0d1117;
    --si-off-white: #f8f9fb;
    --si-white: #ffffff;
    --si-success: #10b981;
    --si-warning: #f59e0b;
    --si-danger: #ef4444;
    --si-slate: #2c476d;
    --si-border: #dbe5f0;
    --si-shadow-soft: 0 6px 18px rgba(13, 17, 23, 0.06);
    --si-radius-button: 8px;
    --si-radius-card: 12px;
    --si-radius-section: 16px;
}

html,
body {
    background: var(--si-off-white);
}

body,
button,
input,
select,
textarea,
.btn,
.dropdown-menu,
.table,
.form-control {
    font-family: "Inter", "Noto Sans Khmer", "Open Sans", sans-serif !important;
}

body {
    color: var(--si-slate);
}

a {
    color: var(--si-brand-blue);
    transition: color 150ms ease-out, background-color 150ms ease-out, border-color 150ms ease-out, box-shadow 150ms ease-out, transform 150ms ease-out;
}

a:hover,
a:focus {
    color: var(--si-brand-blue-700);
}

h1,
h2,
h3,
h4,
h5,
h6,
.box .box-title h3,
#main .page-header .pull-left h1 {
    color: var(--si-ink) !important;
    font-family: "Inter", "Noto Sans Khmer", "Open Sans", sans-serif !important;
    letter-spacing: -0.02em;
}

h1,
#main .page-header .pull-left h1 {
    font-size: 28px !important;
    font-weight: 600;
}

h2,
.box .box-title h3 {
    font-size: 20px !important;
    font-weight: 600 !important;
}

body.login {
    min-height: 100vh;
    background:
        radial-gradient(circle at top right, rgba(181, 212, 244, 0.55), transparent 30%),
        linear-gradient(180deg, #fdfefe 0%, var(--si-off-white) 100%);
}

body.login .wrapper {
    min-height: calc(80vh - 90px);
    display: flex;
    align-items: center;
    justify-content: center;
}

.login .wrapper .login-body {
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
}

.brand-auth {
    margin-bottom: 24px;
}

.brand-auth-logo {
    width: 100%;
    max-width: 300px;
    height: auto;
}

.brand-auth-eyebrow {
    margin: 18px 0 8px;
    color: var(--si-brand-blue);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.brand-auth-title {
    margin: 0;
    color: var(--si-ink);
    font-size: 28px;
    font-weight: 600;
    line-height: 1.2;
}

.brand-auth-copy {
    margin: 8px 0 0;
    color: var(--si-slate);
    font-size: 16px;
    line-height: 1.6;
}

.login .wrapper .login-body .login-box,
.auth-card {
    border: 1px solid var(--si-border);
    background: rgba(255, 255, 255, 0.96);
    padding: 28px 32px 32px;
    border-radius: var(--si-radius-card);
    box-shadow: var(--si-shadow-soft);
}

.login .wrapper .login-body form {
    padding: 0;
}

.login .wrapper .login-body h2,
.auth-card h2 {
    padding: 0;
    margin: 0 0 20px;
    text-align: left !important;
    color: var(--si-ink);
}

.login .wrapper .login-body .email input,
.login .wrapper .login-body .pw input,
.login .wrapper .login-body .controls input,
.form-control,
.select2-container .select2-choice {
    min-height: 38px;
    border: 1px solid var(--si-border);
    border-radius: var(--si-radius-button) !important;
    box-shadow: none !important;
}

.form-control:focus,
.select2-container-active .select2-choice,
.select2-container-active .select2-choices {
    border-color: var(--si-brand-blue) !important;
    box-shadow: 0 0 0 3px rgba(14, 77, 143, 0.12) !important;
}

.help-block,
label,
.control-label,
.quiet-notice {
    color: var(--si-slate);
}

label,
.control-label,
.portal-filter-field>label,
.portal-filter-date-caption,
.portal-filter-checkbox-label,
.page-header h1,
.page-header h2,
.page-header h3,
.page-header h4,
.box-title h1,
.box-title h2,
.box-title h3,
.box-title h4,
.portal-table-title-copy h1,
.portal-table-title-copy h2,
.portal-table-title-copy h3,
.portal-table-title-copy h4,
.portal-filter-modal-header h1,
.portal-filter-modal-header h2,
.portal-filter-modal-header h3,
.portal-filter-modal-header h4,
.portal-section-head h1,
.portal-section-head h2,
.portal-section-head h3,
.panel-title,
.modal-header h3,
.modal-header h4,
.login .wrapper .login-body h2,
.auth-card h2 {
    text-transform: capitalize;
}

.btn {
    border: 0.5px solid var(--si-border);
    border-radius: var(--si-radius-button) !important;
    /* min-height: 36px;
    padding: 7px 14px;
    font-size: 13px;
    font-weight: 600; */
    background: var(--si-white) !important;
    color: var(--si-ink);
    box-shadow: none;
}

.btn:hover,
.btn:focus {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(13, 17, 23, 0.08);
}

.btn.btn-primary,
.blue,
.satblue,
.darkblue {
    background: var(--si-brand-blue) !important;
    border-color: var(--si-brand-blue) !important;
    color: var(--si-white) !important;
}

.btn.btn-primary:hover,
.btn.btn-primary:focus,
.blue:hover,
.satblue:hover,
.darkblue:hover {
    background: var(--si-brand-blue-700) !important;
    border-color: var(--si-brand-blue-700) !important;
}

.btn.btn-danger,
.red,
.lightred {
    background: var(--si-danger) !important;
    border-color: var(--si-danger) !important;
    color: var(--si-white) !important;
}

.btn.btn-warning,
.orange {
    background: var(--si-warning) !important;
    border-color: var(--si-warning) !important;
    color: var(--si-white) !important;
}

.btn.btn-success,
.green,
.satgreen {
    background: var(--si-success) !important;
    border-color: var(--si-success) !important;
    color: var(--si-white) !important;
}

.login .wrapper .login-body .forget {
    margin-top: 20px;
}

.login .wrapper .login-body .forget a,
.auth-primary-action {
    display: block;
    background: var(--si-brand-blue);
    border: 1px solid var(--si-brand-blue);
    border-radius: var(--si-radius-button);
    padding: 11px 14px;
    color: var(--si-white) !important;
    text-align: center;
    text-decoration: none;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.login .wrapper .login-body .forget a:hover,
.auth-primary-action:hover {
    background: var(--si-brand-blue-700);
    border-color: var(--si-brand-blue-700);
}

.auth-secondary-link {
    color: var(--si-slate);
    font-size: 14px;
}

.auth-secondary-link:hover {
    color: var(--si-brand-blue);
}

.alert {
    border: 1px solid var(--si-border);
    border-left-width: 4px;
    border-radius: var(--si-radius-button);
    background: var(--si-white);
    box-shadow: none;
    color: var(--si-slate);
}

.alert-warning {
    border-left-color: var(--si-warning);
}


.alert-info {
    border-left-color: var(--si-success);
}

#navigation {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1030;
    background: var(--si-white);
    border-bottom: 1px solid var(--si-border);
    box-shadow: 0 4px 14px rgba(13, 17, 23, 0.05);
    margin: 10px 15px 0;
    padding: 0px 15px !important;
    border: 1px solid rgba(219, 229, 240, 0.9);
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 255, 0.98)),
        linear-gradient(180deg, rgba(14, 77, 143, 0.03), rgba(14, 77, 143, 0));
    box-shadow: 0 12px 32px rgba(13, 17, 23, 0.06);
    box-sizing: border-box;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    transition: margin 0.35s cubic-bezier(0.16, 1, 0.3, 1), 
                border-radius 0.35s cubic-bezier(0.16, 1, 0.3, 1), 
                border-color 0.35s cubic-bezier(0.16, 1, 0.3, 1), 
                box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1), 
                background 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

#navigation #brand {
    background: none !important;
    max-width: 220px;
}

#navigation .portal-topbar-shell {
    display: flex;
    align-items: center;
    gap: 18px;
    min-height: 56px;
}

#navigation .portal-topbar-left,
#navigation .portal-topbar-right {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
}

#navigation .portal-topbar-center {
    flex: 1 1 auto;
    min-width: 0;
}

#navigation .portal-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    float: none;
    padding: 0;
    line-height: 1;
}

#navigation .portal-brand:hover,
#navigation .portal-brand:focus {
    text-decoration: none;
}

#navigation .portal-brand img {
    display: block;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(14, 77, 143, 0.12);
}

#navigation .portal-brand-copy {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

#navigation .portal-brand-eyebrow {
    color: var(--si-brand-blue);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    line-height: normal;
}

#navigation .portal-brand-title {
    color: var(--si-ink);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.02em;
}

#navigation .main-nav>li>a,
#navigation .user .dropdown>a {
    color: var(--si-ink);
    border-radius: var(--si-radius-button);
}

#navigation .main-nav {
    float: none;
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
}

#navigation .main-nav>li {
    float: none;
}

#navigation .main-nav>li>a.portal-main-nav-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 8px 12px;
    border: 1px solid transparent;
    border-radius: 12px;
    background: transparent;
    color: #0f172a;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
}

#navigation .portal-main-nav-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 10px;
    background: rgba(14, 77, 143, 0.08);
    color: var(--si-brand-blue);
    font-size: 14px;
    flex: 0 0 auto;
}

#navigation .portal-main-nav-label {
    letter-spacing: 0.01em;
    white-space: nowrap;
}

#navigation .portal-main-nav-caret {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

#navigation .portal-main-nav-caret .caret {
    margin-top: 0;
    border-top-color: currentColor;
}

#navigation .main-nav>li>a:hover,
#navigation .main-nav>li.active>a,
#navigation .main-nav>li.open>a,
#navigation .user .dropdown.open,
#navigation .user .dropdown>a:hover {
    background: var(--si-blue-050);
    color: var(--si-brand-blue);
}

#navigation .main-nav>li>a.portal-main-nav-link:hover,
#navigation .main-nav>li.active>a.portal-main-nav-link,
#navigation .main-nav>li.open>a.portal-main-nav-link {
    border-color: rgba(14, 77, 143, 0.12);
    background: linear-gradient(180deg, rgba(14, 77, 143, 0.08), rgba(14, 77, 143, 0.04));
    color: var(--si-brand-blue);
    text-decoration: none;
}

#navigation .main-nav>li.active>a.portal-main-nav-link .portal-main-nav-icon,
#navigation .main-nav>li.open>a.portal-main-nav-link .portal-main-nav-icon,
#navigation .main-nav>li>a.portal-main-nav-link:hover .portal-main-nav-icon {
    background: var(--si-brand-blue);
    color: var(--si-white);
}

#navigation .dropdown-menu,
.dropdown-menu {
    background: var(--si-white);
    border: 1px solid var(--si-border);
    border-radius: var(--si-radius-card);
    box-shadow: var(--si-shadow-soft);
}

#navigation .portal-main-nav-dropdown,
#navigation .user .dropdown-menu {
    margin-top: 10px;
    padding: 8px;
    min-width: 220px;
    border-radius: 16px;
    box-shadow: 0 18px 38px rgba(16, 24, 40, 0.12);
}

#navigation .portal-main-nav-group {
    display: block;
    margin: 4px 8px 6px;
    color: var(--si-slate);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

#navigation .portal-main-nav-dropdown>li>a,
#navigation .user .dropdown-menu>li>a {
    border-radius: 10px;
    padding: 9px 12px;
    color: #1e293b;
    font-size: 13px;
    font-weight: 600;
}

#navigation .dropdown-menu>li>a:hover,
.dropdown-menu>li:focus>a,
.dropdown-menu>li:hover>a {
    background: var(--si-blue-050);
    color: var(--si-brand-blue);
}

#left {
    background: var(--si-white);
    border-right: 1px solid var(--si-border);
    border: 1px solid var(--si-border);
    border-radius: 18px;
    box-shadow: var(--si-shadow-soft);
    padding: 12px 0;
}

#left .subnav .subnav-title {
    color: var(--si-ink);
    font-weight: 600;
}

#left .subnav {
    margin: 6px 10px;
}

#left .subnav.portal-side-current {
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(219, 229, 240, 0.9);
}

#left .portal-side-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 12px;
}

#left .portal-side-heading-icon,
#left .portal-side-toggle-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 10px;
    background: rgba(14, 77, 143, 0.08);
    color: var(--si-brand-blue);
    flex: 0 0 auto;
}

#left .portal-side-heading-label {
    color: #0f172a;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
}

#left .subnav .subnav-title .toggle-subnav.portal-side-toggle {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border-radius: 12px;
    color: #0f172a;
}

#left .portal-side-toggle-caret {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    color: var(--si-slate);
    flex: 0 0 auto;
}

#left .portal-side-toggle-label {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.01em;
}

#left .subnav .subnav-menu {
    margin: 4px 0 0;
}

#left .subnav .subnav-menu>li>a {
    color: #1e293b;
    border-radius: var(--si-radius-button);
    margin: 3px 6px;
    padding: 8px 12px 8px 38px;
    font-size: 13px;
    font-weight: 600;
    position: relative;
}

#left .portal-side-menu-link:before {
    content: "";
    position: absolute;
    left: 20px;
    top: 50%;
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: rgba(100, 116, 139, 0.5);
    transform: translateY(-50%);
}

#left .subnav .subnav-menu>li>a:hover,
#left .subnav .subnav-menu>li.active>a {
    background: var(--si-blue-050);
    color: var(--si-brand-blue);
}

#left .subnav .subnav-menu>li.active>a {
    font-weight: 600;
}

#left .subnav .subnav-menu>li.active>a:before,
#left .subnav .subnav-menu>li>a:hover:before {
    background: var(--si-brand-blue);
}

#navigation .portal-topbar-actions {
    float: none;
    display: flex;
    align-items: center;
    gap: 8px;
}

#navigation .portal-topbar-actions .dropdown {
    float: none;
}

#navigation .portal-topbar-action {
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 8px 12px !important;
    border: 1px solid transparent;
    border-radius: 12px !important;
    background: transparent;
    color: #0f172a !important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

#navigation .portal-topbar-action:hover,
#navigation .user .dropdown.open>.portal-topbar-action {
    border-color: rgba(14, 77, 143, 0.12);
    background: linear-gradient(180deg, rgba(14, 77, 143, 0.08), rgba(14, 77, 143, 0.04));
    color: var(--si-brand-blue) !important;
    text-decoration: none;
}

#navigation .portal-topbar-action-copy {
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#navigation .portal-topbar-action-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 10px;
    background: rgba(14, 77, 143, 0.08);
    color: var(--si-brand-blue);
    font-size: 14px;
    flex: 0 0 auto;
}

#navigation .user .dropdown.open>.portal-topbar-action .portal-topbar-action-icon,
#navigation .portal-topbar-action:hover .portal-topbar-action-icon {
    background: var(--si-brand-blue);
    color: var(--si-white);
}

#content {
    background: transparent;
    padding-top: 76px !important;
}

.portal-shell {
    min-height: calc(100vh - 132px);
}

.portal-mode-executive .portal-shell {
    background:
        radial-gradient(circle at top right, rgba(181, 212, 244, 0.28), transparent 26%),
        linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(248, 249, 251, 0.45) 100%);
}

.portal-mode-dense .portal-shell {
    background: linear-gradient(180deg, rgba(248, 249, 251, 0.2), rgba(248, 249, 251, 0.48));
}

.box,
.box .box-title,
.modalbox .devoops-modal,
#modalbox .devoops-modal {
    border-color: var(--si-border);
    border-radius: var(--si-radius-card);
}

.box {
    box-shadow: var(--si-shadow-soft);
}

.box .box-title {
    background: var(--si-white);
    border-bottom: 1px solid var(--si-border);
    margin-top: 16px;
    padding: 14px 18px;
}

.box .box-content {
    background: var(--si-white);
    border-radius: 0 !important;
}

.box .box-title .actions .btn {
    border-color: transparent;
    color: var(--si-slate);
}

.box .box-title .actions .btn:hover {
    background: var(--si-blue-050);
    color: var(--si-brand-blue);
}

.table>thead>tr>th {
    background: var(--si-off-white);
    color: var(--si-ink);
    font-size: 13px;
    font-weight: 600;
    border-bottom: 1px solid var(--si-border);
}

.table>thead>tr>th,
.table>tbody>tr>td,
.table>tbody>tr>th {
    border-color: var(--si-border) !important;
}

.table-hover>tbody>tr:hover>td,
.table-hover>tbody>tr:hover>th {
    background: #fbfcfe;
}

.table .sorting,
.table .sorting_asc,
.table .sorting_desc {
    background-color: var(--si-off-white) !important;
}

.pagination>li>a,
.pagination>li>span {
    color: var(--si-brand-blue);
    border-color: var(--si-border);
}

.pagination>.active>a,
.pagination>.active>span,
.pagination>.active>a:hover,
.pagination>.active>span:hover,
.pagination>.active>a:focus,
.pagination>.active>span:focus {
    background: var(--si-brand-blue);
    border-color: var(--si-brand-blue);
}

.footer,
footer {
    background: var(--si-white) !important;
    border-top: 1px solid var(--si-border) !important;
    color: var(--si-slate);
}

.si-page-header {
    margin: 6px 0 18px;
    padding: 18px 22px;
    background: linear-gradient(135deg, rgba(14, 77, 143, 0.08), rgba(181, 212, 244, 0.13));
    border: 1px solid var(--si-border);
    border-radius: var(--si-radius-section);
    box-shadow: var(--si-shadow-soft);
}

.si-page-eyebrow {
    margin-bottom: 6px;
    color: var(--si-brand-blue);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.si-page-title {
    margin: 0;
    color: var(--si-ink);
    font-size: 24px;
    font-weight: 600;
    line-height: 1.15;
}

.si-page-copy {
    max-width: 700px;
    margin: 6px 0 0;
    color: var(--si-slate);
    font-size: 14px;
    line-height: 1.5;
}

.si-page-actions {
    margin-top: 12px;
}

.si-page-actions .btn {
    margin-right: 6px;
    margin-bottom: 6px;
}

.si-stat-card {
    height: 100%;
    padding: 16px 18px;
    background: var(--si-white);
    border: 1px solid var(--si-border);
    border-radius: var(--si-radius-card);
    box-shadow: var(--si-shadow-soft);
}

.si-stat-label {
    margin: 0 0 8px;
    color: var(--si-slate);
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.si-stat-value {
    margin: 0;
    color: var(--si-ink);
    font-size: 28px;
    font-weight: 600;
    line-height: 1;
}

.si-stat-value.is-success {
    color: var(--si-success);
}

.si-stat-value.is-danger {
    color: var(--si-danger);
}

.si-stat-meta {
    margin-top: 8px;
    color: var(--si-slate);
    font-size: 12px;
    line-height: 1.45;
}

.si-panel {
    margin-bottom: 18px;
    background: var(--si-white);
    border: 1px solid var(--si-border);
    border-radius: var(--si-radius-card);
    box-shadow: var(--si-shadow-soft);
    overflow: hidden;
}

.si-panel-header {
    padding: 13px 16px 10px;
    border-bottom: 1px solid var(--si-border);
    background: linear-gradient(180deg, rgba(248, 249, 251, 0.95), rgba(248, 249, 251, 0.75));
}

.si-panel-title {
    margin: 0;
    color: var(--si-ink);
    font-size: 17px;
    font-weight: 600;
    line-height: 1.25;
}

.si-panel-copy {
    margin: 4px 0 0;
    color: var(--si-slate);
    font-size: 13px;
    line-height: 1.45;
}

.si-panel-header-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.si-panel-tools {
    flex: 0 0 auto;
}

.si-panel-select.form-control {
    min-width: 110px;
    height: 34px;
    padding-top: 6px;
    padding-bottom: 6px;
    border-radius: 10px !important;
    background: #fbfdff !important;
    box-shadow: none !important;
}

.si-panel-body {
    padding: 16px;
}

.si-panel-body.is-table {
    padding: 0;
}

.si-table {
    margin-bottom: 0;
}

.si-table>thead>tr>th {
    background: var(--si-off-white);
}

.si-table>thead>tr>th,
.si-table>tbody>tr>td,
.si-table>tbody>tr>th {
    padding: 9px 10px !important;
}

.si-table>tbody>tr>td,
.si-table>tbody>tr>th {
    vertical-align: middle;
}

.si-table-meta {
    color: var(--si-slate);
    font-size: 12px;
}

.si-badge {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    text-transform: capitalize;
}

.si-badge.is-active,
.si-badge.is-paid {
    background: rgba(16, 185, 129, 0.12);
    color: #0f7a57;
}

.si-badge.is-suspended,
.si-badge.is-overdue,
.si-badge.is-unpaid {
    background: rgba(239, 68, 68, 0.12);
    color: #b91c1c;
}

.si-badge.is-trial,
.si-badge.is-pending,
.si-badge.is-draft {
    background: rgba(245, 158, 11, 0.14);
    color: #b45309;
}

.si-badge.is-default {
    background: rgba(100, 116, 139, 0.12);
    color: #475569;
}

.si-kv-table {
    margin-bottom: 0;
}

.si-kv-table>tbody>tr>th {
    width: 34%;
    color: var(--si-slate);
    font-weight: 600;
    background: var(--si-off-white);
}

.si-empty {
    padding: 22px 16px;
    color: var(--si-slate);
    text-align: center;
    font-size: 13px;
}

.si-filter-bar {
    margin-bottom: 18px;
    padding: 14px 16px;
    background: var(--si-white);
    border: 1px solid var(--si-border);
    border-radius: var(--si-radius-card);
    box-shadow: var(--si-shadow-soft);
}

.si-filter-title {
    margin: 0;
    color: var(--si-ink);
    font-size: 15px;
    font-weight: 600;
}

.si-filter-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.si-filter-summary {
    margin-top: 4px;
    color: var(--si-slate);
    font-size: 13px;
    line-height: 1.4;
}

.si-filter-collapse {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--si-border);
}

.si-filter-actions .btn {
    margin-right: 6px;
    margin-top: 0;
}

.si-inline-form {
    display: inline-block;
    margin-left: 8px;
}

.collapse-row>td {
    padding: 0 !important;
    border-top: 0 !important;
}

.si-manage-cell {
    background: #f8fbff;
}

.si-manage-card {
    padding: 14px 16px 6px;
    border-top: 1px solid var(--si-border);
}

.si-table-meta {
    margin-top: 4px;
    color: var(--si-slate);
    font-size: 12px;
    line-height: 1.4;
}

.si-panel.is-subpanel {
    margin-bottom: 0;
    box-shadow: none;
}

.si-page-header .form-group,
.si-panel .form-group,
.si-filter-bar .form-group,
.si-manage-card .form-group {
    margin-bottom: 8px;
}

.si-filter-bar label,
.si-panel label,
.si-manage-card label {
    margin-bottom: 4px;
    font-size: 12px;
    font-weight: 600;
}

.si-panel .btn-xs,
.si-table .btn-xs {
    min-height: 30px;
    padding: 4px 10px;
    font-size: 12px;
}

.si-kv-table>tbody>tr>th,
.si-kv-table>tbody>tr>td {
    padding: 9px 10px !important;
}

.portal-mode-executive .si-page-header {
    padding: 22px 24px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(14, 77, 143, 0.07), rgba(181, 212, 244, 0.18));
}

.portal-mode-executive .si-page-title {
    font-size: 28px;
    line-height: 1.1;
}

.portal-mode-executive .si-page-copy {
    max-width: 760px;
    font-size: 15px;
}

.portal-mode-executive .si-page-actions .btn:not(.btn-primary) {
    background: rgba(255, 255, 255, 0.78);
}

.portal-mode-executive .si-stat-card {
    padding: 18px 20px;
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(13, 17, 23, 0.06);
}

.portal-mode-executive .si-stat-label {
    font-size: 11px;
    letter-spacing: 0.08em;
}

.portal-mode-executive .si-stat-value {
    font-size: 30px;
}

.portal-mode-executive .si-panel {
    border-radius: 16px;
}

.portal-mode-executive .si-panel-header {
    padding: 14px 16px 10px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 249, 251, 0.72));
}

.portal-mode-executive .si-panel-title {
    font-size: 16px;
}

.portal-mode-executive .si-table>thead>tr>th {
    background: #fbfcfe;
    font-size: 12px;
}

.portal-dense-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    padding: 11px 16px;
    border: 1px solid var(--si-border);
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(14, 77, 143, 0.06), rgba(181, 212, 244, 0.12));
    box-shadow: var(--si-shadow-soft);
}

.portal-dense-header.page-header {
    display: flex;
    padding: 14px 10px 14px 16px !important;
    border: 1px solid var(--si-border) !important;
    border-bottom-width: 1px !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, rgba(14, 77, 143, 0.06), rgba(181, 212, 244, 0.12)) !important;
    box-shadow: var(--si-shadow-soft) !important;
    margin: 6px 0 10px !important;
}

.portal-mode-dense .box>.portal-dense-header,
.portal-mode-dense .box>.box-title.portal-dense-header {
    margin: 0 !important;
    border: 0;
    border-bottom: 1px solid var(--si-border);
    border-radius: 16px 16px 0 0;
    box-shadow: none;
}

.portal-dense-header .pull-left,
.portal-dense-header .pull-right {
    float: none !important;
}

.portal-dense-header .pull-left {
    flex: 1 1 auto;
}

.portal-dense-header .pull-right {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
    align-items: center;
    margin-top: 0 !important;
}

.portal-dense-header h2 {
    margin: 0 !important;
    font-size: 22px !important;
    line-height: 1.15;
}

.portal-dense-header h3 {
    margin: 0 !important;
    font-size: 20px !important;
    line-height: 1.2;
}

.portal-section-copy,
.portal-dense-header .portal-header-copy {
    margin: 4px 0 0;
    color: var(--si-slate);
    font-size: 13px;
    line-height: 1.5;
}

.portal-section-card {
    margin-bottom: 12px;
    border: 1px solid var(--si-border);
    border-radius: 14px;
    background: var(--si-white);
    box-shadow: var(--si-shadow-soft);
}

.portal-filter-shell {
    margin-bottom: 0;
}

.portal-table-title-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--si-border);
    background: #fff;
}

.portal-table-title-copy h4 {
    margin: 0 !important;
    color: var(--si-ink);
    font-size: 14px !important;
    line-height: 1.2;
}

.portal-table-title-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

.portal-table-title-actions .btn,
.portal-table-title-actions .portal-inline-search-input {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.portal-inline-search {
    width: 240px;
}

.portal-inline-search-input.form-control {
    height: 34px;
    min-height: 34px;
    padding-top: 6px;
    padding-bottom: 6px;
    border: 1px solid var(--si-border);
    border-radius: 10px !important;
    background: #fbfdff !important;
    box-shadow: none !important;
}

.portal-inline-search-input.form-control:focus {
    border-color: var(--si-brand-blue) !important;
    box-shadow: 0 0 0 3px rgba(14, 77, 143, 0.12) !important;
}

.portal-filter-icon-btn {
    min-width: 34px;
    width: 34px;
    min-height: 34px;
    height: 34px;
    padding: 0;
}

.portal-filter-icon-btn .fa {
    margin-right: 0;
}

.portal-table-title-actions .btn {
    min-height: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-top: 0;
    padding-bottom: 0;
    vertical-align: middle;
}

.portal-filter-summary-card {
    display: none;
    align-items: center;
    gap: 14px;
    padding: 9px 14px;
    border: 1px solid var(--si-border);
    border-width: 0 0 1px;
    border-radius: 0;
    background: linear-gradient(180deg, rgba(247, 250, 253, 0.92), rgba(255, 255, 255, 0.98));
}

.portal-filter-shell.has-active-filters .portal-filter-summary-card {
    display: flex;
}

.portal-filter-summary-main {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1 1 auto;
    min-width: 0;
    flex-wrap: wrap;
}

.portal-filter-results-copy {
    margin: 0;
    color: var(--si-slate);
    font-size: 12px;
    line-height: 1.4;
    white-space: nowrap;
}

.portal-filter-summary-heading {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

.portal-filter-summary-title {
    color: var(--si-ink);
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

.portal-filter-summary-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 7px;
    border-radius: 999px;
    background: rgba(14, 77, 143, 0.1);
    color: var(--si-brand-blue);
    font-size: 11px;
    font-weight: 700;
}

.portal-filter-summary-empty {
    display: none !important;
}

.portal-filter-summary-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 0;
    min-width: 0;
}

.portal-filter-summary-chips:empty {
    display: none;
}

.portal-filter-chip {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border: 1px solid rgba(14, 77, 143, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.95);
    color: var(--si-brand-blue);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
}

.portal-filter-modal-open {
    overflow: hidden;
}

.portal-filter-modal {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 5500;
    transition: opacity 160ms ease-out, visibility 160ms ease-out;
}

.portal-filter-modal.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.portal-filter-modal-backdrop {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(13, 17, 23, 0.42);
}

.portal-filter-modal-dialog {
    position: relative;
    width: calc(100vw - 32px);
    max-width: 920px;
    margin: 58px auto;
    border: 1px solid var(--si-border);
    border-radius: 16px;
    background: var(--si-white);
    box-shadow: 0 26px 52px rgba(16, 24, 40, 0.2);
    overflow: hidden;
}

.portal-filter-modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 18px 12px;
    border-bottom: 1px solid var(--si-border);
    background: linear-gradient(135deg, rgba(14, 77, 143, 0.05), rgba(181, 212, 244, 0.16));
}

.portal-filter-modal-header h3 {
    margin: 0 !important;
    color: var(--si-ink);
    font-size: 18px !important;
    line-height: 1.2;
}

.portal-filter-modal-header p {
    margin: 4px 0 0;
    color: var(--si-slate);
    font-size: 13px;
    line-height: 1.5;
}

.portal-filter-modal-body {
    padding: 16px 18px 18px;
}

.portal-filter-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 12px;
}

.portal-filter-field {
    min-width: 0;
}

.portal-filter-field.portal-filter-field-wide {
    grid-column: 1 / -1;
}

.portal-filter-field>label {
    display: block;
    margin-bottom: 6px;
    color: var(--si-slate);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.portal-filter-control,
.portal-filter-field .form-control,
.portal-filter-field .select2-container .select2-choice {
    min-height: 38px;
    border: 1px solid var(--si-border);
    border-radius: 10px !important;
    background: #fbfdff !important;
    color: var(--si-ink);
    box-shadow: none !important;
}

.portal-filter-field .select2-container {
    width: 100% !important;
    display: block;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.portal-filter-field .select2-container .select2-choice {
    display: flex;
    align-items: center;
    height: 38px;
    padding-left: 11px;
    padding-right: 36px;
    line-height: 36px;
    border: 1px solid var(--si-border) !important;
    box-shadow: none !important;
}

.portal-filter-field .select2-container .select2-choice .select2-arrow {
    top: 7px;
    right: 8px;
    width: 18px;
    height: 100%;
    border-left: 0;
    background: transparent;
    border-radius: 0;
}

.portal-filter-field .select2-container .select2-choice .select2-arrow b {
    width: 18px;
    height: 100%;
    background-position: 0 50% !important;
    background-repeat: no-repeat !important;
    margin: 0;
}

.portal-filter-field .select2-container.select2-dropdown-open .select2-choice .select2-arrow b {
    background-position: -18px 50% !important;
}

.portal-filter-field .select2-container.select2-container-active .select2-choice,
.portal-filter-field .form-control:focus {
    border-color: var(--si-brand-blue) !important;
    box-shadow: 0 0 0 3px rgba(14, 77, 143, 0.12) !important;
}

.select2-drop {
    margin-top: -8px;
    padding-top: 8px;
    border: 1px solid var(--si-brand-blue) !important;
    border-top: 1px solid var(--si-brand-blue) !important;
    border-radius: 12px;
    overflow: visible;
    box-shadow: 0 18px 30px rgba(16, 24, 40, 0.18);
    background: #f8f9fc;
}

.select2-drop-active {
    border: 1px solid var(--si-brand-blue) !important;
    border-top: 0 !important;
}

.select2-search {
    padding: 0 10px 8px;
}

.select2-search input {
    min-height: 34px;
    border: 1px solid var(--si-border);
    border-top-color: var(--si-border);
    border-radius: 10px;
    background-color: #fbfdff;
    box-shadow: none;
}

.portal-filter-date-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.portal-filter-date-item {
    min-width: 0;
}

.portal-filter-date-caption {
    display: block;
    margin-bottom: 6px;
    color: var(--si-slate);
    font-size: 12px;
    font-weight: 600;
}

.portal-filter-date-control {
    position: relative;
}

.portal-filter-date-control .portal-filter-date-input {
    padding-left: 36px;
}

.portal-filter-date-control input.hasDatepicker {
    padding-left: 36px !important;
}

.portal-filter-date-control .form-control-feedback {
    top: 0;
    bottom: 0;
    left: 11px;
    right: auto;
    display: flex;
    align-items: center;
    width: auto;
    color: var(--si-slate) !important;
    transform: none;
    opacity: 0.7;
    pointer-events: none;
}

.portal-filter-date-control input.hasDatepicker~span.fa-calendar {
    top: 0 !important;
    bottom: 0;
    left: 11px !important;
    right: auto !important;
    display: flex;
    align-items: center;
    width: auto !important;
    background: transparent !important;
    transform: none !important;
    opacity: 0.7;
    pointer-events: none;
}

.portal-filter-date-control input.hasDatepicker~span.fa-calendar:before {
    float: none;
    margin: 0;
    font-size: 14px;
}

.form-control.hasDatepicker {
    padding-left: 36px !important;
}

/* .form-control.hasDatepicker~span.fa-calendar.form-control-feedback {
    top: 12px !important;
    left: 11px !important;
    right: auto !important;
    display: flex;
    align-items: center;
    width: auto !important;
    height: auto;
    margin-left: 0 !important;
    background: transparent !important;
    color: var(--si-slate) !important;
    transform: none !important;
    opacity: 0.7;
    pointer-events: none;
} */

.form-control.hasDatepicker~span.fa-calendar.form-control-feedback:before {
    float: none;
    margin: 0;
    font-size: 14px;
}

.portal-filter-field-checkbox {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding-top: 4px;
}

.portal-filter-checkbox-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 38px;
    margin-top: 2px;
    padding: 10px 14px;
    border: 1px solid var(--si-border);
    border-radius: 10px;
    background: #fbfdff;
    color: var(--si-ink);
    font-size: 13px;
    font-weight: 500;
}

.portal-filter-checkbox-label input {
    margin: 0;
}

.portal-modal-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 18px 16px;
    border-top: 1px solid var(--si-border);
    background: linear-gradient(180deg, rgba(248, 249, 251, 0.82), rgba(255, 255, 255, 0.95));
}

.portal-modal-note {
    margin: 0;
    color: var(--si-slate);
    font-size: 12px;
    line-height: 1.45;
}

.portal-modal-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

.modalbox:has(.portal-modal-footer) .devoops-modal-inner,
#modalbox:has(.portal-modal-footer) .devoops-modal-inner {
    padding: 0;
}

.modalbox .devoops-modal-inner .portal-modal-form,
#modalbox .devoops-modal-inner .portal-modal-form {
    padding: 18px 18px 0 18px;
    margin: 0;
}

.select2-drop,
.select2-drop-mask,
.ui-datepicker {
    z-index: 6000 !important;
}

body.portal-modal-open .select2-drop {
    z-index: 7000 !important;
}

body.portal-modal-open .select2-drop-mask {
    z-index: 6990 !important;
}

body.portal-filter-modal-open .select2-drop {
    z-index: 7000 !important;
}

body.portal-filter-modal-open .select2-drop-mask {
    z-index: 6990 !important;
}

body.portal-filter-modal-open .select2-results {
    max-height: 220px;
    overflow-y: auto;
}

.portal-mode-dense .table-colored-header,
.portal-mode-dense #listItem {
    background: var(--si-white);
    border: 1px solid var(--si-border);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: var(--si-shadow-soft);
}

.portal-mode-dense .fixed_table_thead table.table-colored-header {
    border-radius: 12px 12px 0 0;
}

.portal-mode-dense .table-colored-header>thead>tr>th,
.portal-mode-dense #listItem>thead>tr>th {
    padding: 10px 9px !important;
    background: var(--si-off-white) !important;
    color: var(--si-ink) !important;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    position: relative;
}

.portal-mode-dense .table .sorting,
.portal-mode-dense .table .sorting_asc,
.portal-mode-dense .table .sorting_desc {
    padding-right: 28px !important;
    white-space: nowrap;
    background-color: var(--si-off-white) !important;
    background-image: none !important;
    position: relative;
}

.portal-mode-dense .table .sorting::after,
.portal-mode-dense .table .sorting_asc::after,
.portal-mode-dense .table .sorting_desc::after {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    font-family: FontAwesome;
    font-size: 12px;
    line-height: 1;
    opacity: 0.65;
}

.portal-mode-dense .table .sorting::after {
    content: "\f0dc";
    color: var(--si-slate);
}

.portal-mode-dense .table .sorting_asc::after {
    content: "\f0de";
    color: var(--si-brand-blue);
    opacity: 0.95;
}

.portal-mode-dense .table .sorting_desc::after {
    content: "\f0dd";
    color: var(--si-brand-blue);
    opacity: 0.95;
}

.portal-mode-dense .table-colored-header>tbody>tr>td,
.portal-mode-dense #listItem>tbody>tr>td,
.portal-mode-dense .table-colored-header>tfoot>tr>td,
.portal-mode-dense #listItem>tfoot>tr>td {
    padding: 6px 6px !important;
    vertical-align: middle;
}

.portal-mode-dense .table-colored-header .btn,
.portal-mode-dense #listItem .btn,
.portal-mode-dense .table-colored-header .dropdown-toggle,
.portal-mode-dense #listItem .dropdown-toggle {
    min-height: 30px;
    padding: 5px 10px;
    font-size: 12px;
}

.portal-mode-dense .table-colored-header .btn-group,
.portal-mode-dense #listItem .btn-group {
    margin-top: 0 !important;
}

.portal-mode-dense .table-colored-header .cls_status,
.portal-mode-dense #listItem .cls_status {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 999px;
    line-height: 1.1;
}

.portal-mode-dense .pagination {
    margin-top: 12px;
}

.portal-dense-list-card {
    overflow: hidden;
    margin-bottom: 12px;
    border: 1px solid var(--si-border);
    border-radius: 14px;
    background: var(--si-white);
    box-shadow: var(--si-shadow-soft);
}

.portal-dense-list-card .fixed_table_thead,
.portal-dense-list-card .fixed_table_thead table {
    margin-bottom: 0 !important;
}

.portal-dense-list-card .table-colored-header,
.portal-dense-list-card #listItem {
    margin-bottom: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.portal-dense-list-card .dropdown-menu {
    z-index: 1060;
    border-color: var(--si-border);
    border-radius: 12px;
    box-shadow: 0 12px 28px rgba(16, 24, 40, 0.12);
}

.portal-dropdown-floating {
    position: absolute !important;
    display: block;
    z-index: 2000 !important;
}

.portal-dense-actions .btn-group {
    position: relative;
}

.portal-dense-actions .btn-group.open {
    z-index: 1061;
}

.portal-dense-list-card .dropdown-menu>li>a {
    padding: 8px 12px;
    font-size: 12px;
}

.portal-dense-pagination {
    position: relative;
    z-index: 1;
    padding: 12px 14px;
    border-top: 1px solid var(--si-border);
    background: linear-gradient(180deg, rgba(248, 249, 251, 0.82), rgba(255, 255, 255, 0.92));
}

.portal-dense-pagination .dataTables_info {
    color: var(--si-slate);
    font-size: 12px;
    font-weight: 500;
}

.portal-dense-pagination .pagination {
    margin: 0;
}

.portal-dense-pagination .pull-right,
.portal-dense-pagination .pull-left {
    display: flex;
    align-items: center;
    gap: 8px;
}

.portal-dense-pagination .pull-right {
    justify-content: flex-end;
    flex-wrap: wrap;
}

.portal-dense-pagination .select2-container,
.portal-dense-pagination select {
    min-width: 72px;
}

.portal-dense-actions {
    white-space: nowrap;
}

.portal-icon-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 1px solid var(--si-border);
    border-radius: 10px;
    background: linear-gradient(180deg, #ffffff, #fbfdff);
    color: var(--si-slate);
}

.portal-icon-action+.portal-icon-action {
    margin-left: 6px;
}

.portal-icon-action:hover,
.portal-icon-action:focus {
    background: rgba(14, 77, 143, 0.08);
    border-color: rgba(14, 77, 143, 0.18);
    color: var(--si-brand-blue);
    text-decoration: none;
}

.portal-inline-row-action {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 10px;
    border: 1px solid rgba(14, 77, 143, 0.14);
    border-radius: 999px;
    background: rgba(14, 77, 143, 0.06);
    color: var(--si-brand-blue);
    font-size: 12px;
    font-weight: 600;
}

.portal-inline-row-action:hover,
.portal-inline-row-action:focus {
    color: var(--si-brand-blue-700);
    text-decoration: none;
    background: rgba(14, 77, 143, 0.1);
}

.portal-mode-dense .portal-dense-form-box,
.portal-mode-dense .portal-dense-detail-box {
    border-radius: 16px;
    overflow: hidden;
}

.portal-mode-dense .portal-dense-form-box>.box-content,
.portal-mode-dense .portal-dense-detail-box>.box-content {
    padding: 18px 20px;
}

.portal-mode-dense .portal-dense-form-box>.col-sm-12,
.portal-mode-dense .portal-dense-detail-box>.col-sm-12 {
    padding: 18px 20px;
}

.portal-mode-dense .portal-dense-form-box .box-content .col-sm-12.none-padding,
.portal-mode-dense .portal-dense-detail-box .box-content .col-sm-12.none-padding {
    row-gap: 12px;
}

.portal-mode-dense .portal-dense-form-box .form-actions,
.portal-mode-dense .portal-dense-detail-box .form-actions {
    margin-top: 20px;
    padding-top: 14px;
    border-top: 1px solid var(--si-border);
}

.portal-mode-dense .portal-dense-form-box h4,
.portal-mode-dense .portal-dense-detail-box h4,
.portal-mode-dense .portal-dense-form-box h5,
.portal-mode-dense .portal-dense-detail-box h5 {
    color: var(--si-ink);
    font-weight: 600;
}

.portal-mode-dense .quiet-notice {
    margin: 12px 0 0;
    padding: 12px 14px;
    border: 1px dashed var(--si-border);
    border-radius: 12px;
    background: #fbfdff;
    color: var(--si-slate);
}

.portal-mode-dense .portal-dense-detail-box .tabs.tabs-inline.tabs-top {
    margin: 0;
    padding: 0 0 0 1px;
    border-bottom: 1px solid var(--si-border);
}

.portal-mode-dense .portal-dense-detail-box .tabs.tabs-inline.tabs-top>li {
    margin: 0 0 -1px;
}

.portal-mode-dense .portal-dense-detail-box .tabs.tabs-inline.tabs-top>li+li {
    margin-left: 4px;
}

.portal-mode-dense .portal-dense-detail-box .tabs.tabs-inline.tabs-top>li>a.btn,
.portal-mode-dense .portal-dense-detail-box .tabs.tabs-inline.tabs-top>li>a.invoice-detail-tab-link {
    display: block;
    padding: 10px 16px;
    border: 1px solid var(--si-border);
    border-bottom: 1px solid var(--si-border);
    border-radius: 10px 10px 0 0;
    background: #f3f6fa;
    color: var(--si-slate);
    box-shadow: none;
    margin: 0;
    line-height: 1.35;
    text-decoration: none;
}

.portal-mode-dense .portal-dense-detail-box .tabs.tabs-inline.tabs-top>li.active>a.btn,
.portal-mode-dense .portal-dense-detail-box .tabs.tabs-inline.tabs-top>li.active>a.invoice-detail-tab-link,
.portal-mode-dense .portal-dense-detail-box .tabs.tabs-inline.tabs-top>li>a.btn:hover,
.portal-mode-dense .portal-dense-detail-box .tabs.tabs-inline.tabs-top>li>a.btn:focus,
.portal-mode-dense .portal-dense-detail-box .tabs.tabs-inline.tabs-top>li>a.invoice-detail-tab-link:hover,
.portal-mode-dense .portal-dense-detail-box .tabs.tabs-inline.tabs-top>li>a.invoice-detail-tab-link:focus {
    background: var(--si-white);
    border-color: var(--si-border);
    border-bottom-color: var(--si-white);
    color: var(--si-brand-blue);
}

.portal-mode-dense .portal-dense-detail-box .tab-content.tab-content-inline.tab-content-bottom {
    padding: 14px 0 0;
    border: 0;
    background: transparent;
    margin-top: 0;
}

.portal-mode-dense #tab_customer,
.portal-mode-dense #target_invoices {
    border: 1px solid var(--si-border);
    border-radius: 12px;
    background: #fbfdff;
    padding: 12px 14px;
}

.portal-mode-dense .invoice-detail-header h3 {
    display: inline-block;
    margin: 0 !important;
}

.portal-mode-dense .invoice-detail-issued-by {
    color: var(--si-slate);
    font-size: 13px;
    font-weight: 500;
}

.portal-mode-dense .invoice-detail-refund-status {
    display: inline-flex;
    align-items: center;
}

.portal-mode-dense .invoice-detail-header-actions {
    margin-left: auto;
}

.portal-mode-dense .invoice-detail-header-actions .btn,
.portal-mode-dense .invoice-detail-header-actions .btn-group {
    margin-top: 0 !important;
}

.invoice-detail-print-group {
    position: relative;
}

.invoice-detail-print-group .dropdown-menu {
    display: none;
    top: calc(100% + 8px);
    right: 0;
    left: auto;
}

.invoice-detail-print-group.open .dropdown-menu {
    display: block;
}

.portal-mode-dense .invoice-detail-add-payment.btn.btn-blue {
    background: #368ee0 !important;
    border-color: #25639e !important;
    color: #fff !important;
}

.portal-mode-dense .invoice-detail-add-payment.btn.btn-blue:hover,
.portal-mode-dense .invoice-detail-add-payment.btn.btn-blue:focus {
    background: #1e74c5 !important;
    border-color: #25639e !important;
    color: #fff !important;
}

.portal-mode-dense #ex_rate_box {
    margin-top: 10px;
}

.portal-mode-dense #tab_customer.portal-customer-list-shell {
    border: 0;
    border-radius: 0;
    background: transparent;
    padding: 0;
}

.portal-mode-dense .alert.alert-info {
    border-color: rgba(14, 77, 143, 0.16);
    background: rgba(181, 212, 244, 0.18);
    color: #1e3a5f;
}

.icheckbox_square,
.icheckbox_square-blue,
.icheckbox_square-red,
.icheckbox_square-green,
.icheckbox_square-yellow,
.icheckbox_square-orange,
.icheckbox_square-pink,
.icheckbox_square-purple,
.icheckbox_square-aero,
.icheckbox_square-grey {
    border-radius: 6px;
    overflow: hidden;
}

.portal-settings-shell {
    display: flex;
    align-items: flex-start;
    gap: 22px;
}

.portal-settings-sidebar {
    width: 280px;
    flex: 0 0 280px;
    position: sticky;
    top: 88px;
}

.portal-settings-sidebar-card,
.portal-settings-page-header,
.portal-settings-form-card {
    border: 1px solid var(--si-border);
    border-radius: 16px;
    background: var(--si-white);
    box-shadow: var(--si-shadow-soft);
}

.portal-settings-sidebar-card {
    overflow: hidden;
}

.portal-settings-sidebar-header {
    padding: 20px 20px 14px;
    border-bottom: 1px solid var(--si-border);
    background: linear-gradient(180deg, #f8fbff, #fdfefe);
}

.portal-settings-eyebrow,
.portal-settings-page-kicker {
    margin: 0 0 6px;
    color: var(--si-brand-blue);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.portal-settings-heading,
.portal-settings-page-title {
    margin: 0;
    color: var(--si-ink);
    font-weight: 700;
}

.portal-settings-copy,
.portal-settings-page-copy {
    margin: 8px 0 0;
    color: var(--si-slate);
    line-height: 1.55;
}

.portal-settings-nav {
    padding: 10px;
}

.portal-settings-nav-item {
    display: flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 14px;
    border-radius: 12px;
    color: var(--si-ink);
    font-weight: 600;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.portal-settings-nav-item+.portal-settings-nav-item {
    margin-top: 4px;
}

.portal-settings-nav-item:hover,
.portal-settings-nav-item:focus {
    background: rgba(14, 77, 143, 0.08);
    color: var(--si-brand-blue);
    text-decoration: none;
}

.portal-settings-nav-item.active {
    background: rgba(14, 77, 143, 0.1);
    color: var(--si-brand-blue);
    box-shadow: inset 0 0 0 1px rgba(14, 77, 143, 0.12);
}

.portal-settings-main {
    min-width: 0;
    flex: 1 1 auto;
}

.portal-settings-page-header {
    margin-bottom: 18px;
    padding: 22px 24px;
}

.portal-settings-page-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.portal-settings-page-copy-block {
    min-width: 0;
}

.portal-settings-page-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.portal-settings-page-actions .btn {
    margin: 0;
}

.portal-settings-list-shell {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.portal-settings-list-shell>.row.margin-top-10:first-child {
    margin-top: 0 !important;
}

.portal-settings-form-card>.box-content {
    padding: 22px 24px;
}

.portal-settings-section-title {
    margin: 0 0 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--si-border);
    color: var(--si-ink);
    font-weight: 700;
}

.portal-settings-section-divider {
    margin: 6px 0 18px;
    border-bottom: 1px solid var(--si-border);
}

.portal-settings-form-actions {
    margin-top: 18px;
}

@media (max-width: 991px) {
    .portal-settings-shell {
        flex-direction: column;
    }

    .portal-settings-sidebar {
        position: static;
        width: 100%;
        flex-basis: auto;
    }

    .portal-settings-page-head {
        flex-direction: column;
    }

    .portal-settings-page-actions {
        justify-content: flex-start;
    }
}

.si-action-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.si-action-list li+li {
    margin-top: 10px;
}

.si-action-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border: 1px solid var(--si-border);
    border-radius: 12px;
    background: linear-gradient(180deg, #ffffff, #fbfdff);
    color: var(--si-ink);
    font-weight: 600;
}

.si-action-list a small {
    display: block;
    margin-top: 2px;
    color: var(--si-slate);
    font-size: 12px;
    font-weight: 500;
}

.si-chart-wrap {
    position: relative;
}

.si-chart-surface {
    min-height: 350px;
    transform: translateY(10px);
    transition: opacity 220ms ease-out, transform 220ms ease-out;
}

.si-chart-surface.is-ready {
    opacity: 1;
    transform: translateY(0);
}

.si-chart-surface.is-loading {
    opacity: 0.28;
    transform: scale(0.985);
}

.si-chart-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    background: rgba(255, 255, 255, 0.58);
    transition: opacity 160ms ease-out, visibility 160ms ease-out;
}

.si-chart-overlay.is-visible {
    opacity: 1;
    visibility: visible;
}

.si-chart-spinner {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(14, 77, 143, 0.14);
    box-shadow: 0 10px 24px rgba(14, 77, 143, 0.12);
    color: var(--si-brand-blue);
    font-size: 18px;
}

@media (min-width: 992px) {
    .si-page-header {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        column-gap: 18px;
        row-gap: 4px;
        align-items: start;
    }

    .si-page-header .si-page-actions {
        grid-column: 2;
        grid-row: 1 / span 3;
        margin-top: 0;
        text-align: right;
    }

    .si-page-header .si-page-copy {
        padding-right: 6px;
    }
}

@media (max-width: 767px) {
    #navigation {
        margin-left: 8px;
        margin-right: 8px;
        padding: 10px !important;
    }

    #navigation .portal-topbar-shell {
        display: block;
    }

    #navigation .portal-topbar-center,
    #navigation .portal-topbar-right {
        margin-top: 10px;
    }

    #navigation .main-nav,
    #navigation .portal-topbar-actions {
        flex-wrap: wrap;
    }

    #navigation .main-nav>li,
    #navigation .portal-topbar-actions .dropdown {
        width: 100%;
    }

    #navigation .main-nav>li>a.portal-main-nav-link,
    #navigation .portal-topbar-action {
        width: 100%;
        justify-content: space-between;
    }

    #navigation .portal-brand-copy {
        min-width: 0;
    }

    .si-page-header,
    .si-stat-card,
    .si-panel-body,
    .si-filter-bar,
    .si-manage-card {
        padding-left: 14px;
        padding-right: 14px;
    }

    .si-page-title {
        font-size: 22px;
    }

    .si-stat-value {
        font-size: 24px;
    }

    .si-filter-header {
        display: block;
    }

    .si-filter-header .btn {
        margin-top: 10px;
    }

    .portal-dense-header.page-header {
        display: block;
    }

    .portal-dense-header .pull-right {
        justify-content: flex-start;
        margin-top: 10px !important;
    }

    .portal-table-title-bar,
    .portal-filter-summary-card,
    .portal-filter-modal-header,
    .portal-modal-footer {
        display: block;
    }

    .portal-table-title-actions,
    .portal-modal-actions {
        margin-top: 10px;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .portal-filter-modal-dialog {
        width: calc(100vw - 20px);
        margin: 20px auto;
    }

    .modalbox,
    #modalbox {
        padding: 18px 10px;
    }

    .modalbox .devoops-modal,
    #modalbox .devoops-modal {
        width: 100% !important;
    }

    .modalbox .devoops-modal-header,
    .modalbox .devoops-modal-inner,
    #modalbox .devoops-modal-header,
    #modalbox .devoops-modal-inner {
        padding-left: 14px;
        padding-right: 14px;
    }

    .modalbox .devoops-modal-inner .form-actions,
    .modalbox .devoops-modal-inner .action-bar,
    #modalbox .devoops-modal-inner .form-actions,
    #modalbox .devoops-modal-inner .action-bar {
        justify-content: stretch;
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .modalbox .devoops-modal-inner .form-actions .btn,
    .modalbox .devoops-modal-inner .action-bar .btn,
    #modalbox .devoops-modal-inner .form-actions .btn,
    #modalbox .devoops-modal-inner .action-bar .btn {
        width: 100%;
        min-width: 0;
    }

    .portal-inline-search {
        width: 100%;
    }

    .portal-filter-form-grid,
    .portal-filter-date-grid {
        grid-template-columns: 1fr;
    }
}

/* SaaS Billing Portal Enhancements */
.plan-card {
    transition: all 0.3s ease;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 25px 20px;
    background: #ffffff;
    text-align: center;
    margin-bottom: 15px;
    position: relative;
}

.plan-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 20px rgba(13, 17, 23, 0.06) !important;
    border-color: #5B9BD5 !important;
}

.plan-card.is-active-plan {
    border-color: #0E4D8F !important;
    box-shadow: 0 6px 15px rgba(14, 77, 143, 0.08) !important;
    background: #F8F9FB;
}

.plan-card-badge {
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #10B981;
    color: white;
    font-weight: bold;
    font-size: 10px;
    text-transform: uppercase;
    padding: 3px 8px;
    border-radius: 12px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.plan-card-title {
    margin-top: 5px;
    font-weight: bold;
    color: #0D1117;
    font-size: 18px;
}

.plan-card-price-container {
    margin: 15px 0;
}

.plan-card-price {
    font-size: 28px;
    font-weight: bold;
    color: #0E4D8F;
}

.plan-card-period {
    color: #64748B;
}

.plan-card-yearly-saving {
    font-size: 11px;
    color: #10B981;
    font-weight: bold;
    margin-top: 4px;
}

.plan-card-features {
    list-style: none;
    padding: 0;
    margin: 20px 0;
    text-align: left;
    font-size: 13px;
    color: #64748B;
    line-height: 1.8;
}

.plan-card-features li {
    padding: 5px 0;
    border-bottom: 1px solid #f1f5f9;
}

.plan-card-features li:last-child {
    border-bottom: none;
}

.plan-card-button {
    font-weight: bold;
    border-radius: 4px;
    padding: 8px;
}

.btn-primary-outline {
    border: 1px solid #0E4D8F;
    color: #0E4D8F;
    background: transparent;
}

.btn-primary-outline:hover {
    background-color: #0E4D8F !important;
    color: #FFFFFF !important;
    border-color: #0E4D8F !important;
}

.font-size-14 {
    font-size: 14px;
}

.font-size-13 {
    font-size: 13px;
}

.font-size-12 {
    font-size: 12px;
}

.font-size-11 {
    font-size: 11px;
}

/* Cycle Toggle Styles */
.si-toggle-container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 30px;
    gap: 12px;
}

.si-toggle-label {
    font-size: 14px;
}

.si-toggle-label.is-active {
    font-weight: bold;
    color: #0E4D8F;
}

.si-toggle-label.is-inactive {
    font-weight: normal;
    color: #64748B;
}

.si-toggle-switch {
    position: relative;
    display: inline-block;
    width: 50px;
    height: 26px;
    margin: 0;
    vertical-align: middle;
}

.si-toggle-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.si-toggle-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #cbd5e1;
    transition: .4s;
    border-radius: 34px;
}

.si-toggle-switch input:checked+.si-toggle-slider {
    background-color: #0E4D8F;
}

.si-toggle-switch .si-toggle-slider:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    transition: .4s;
    border-radius: 50%;
}

.si-toggle-switch input:checked+.si-toggle-slider:before {
    transform: translateX(24px);
}

.si-toggle-badge {
    background-color: #10B981;
    color: white;
    font-weight: bold;
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 10px;
    margin-left: 4px;
}

/* Dashboard Quotas Meter */
.quota-meter-container {
    margin-bottom: 5px;
    display: flex;
    justify-content: space-between;
}

.quota-meter-title {
    color: #0D1117;
}

.quota-progress-bar {
    background: #e9ecef;
    border-radius: 4px;
    height: 8px;
    margin-bottom: 0;
    overflow: hidden;
}

.quota-progress-bar-unlimited {
    background: #e6f1fb;
    border-radius: 4px;
    height: 8px;
    margin-bottom: 0;
    overflow: hidden;
}

/* Modal Enhancements */
.modal-well-payment {
    font-size: 13px;
    line-height: 1.6;
    background-color: #F8FAFC;
    border-color: #CBD5E1;
    color: #475569;
    margin-bottom: 20px;
}

.modal-payment-ref-label {
    font-weight: bold;
    color: #334155;
}

/* Sidebar Collapse System */
.portal-settings-shell {
    position: relative;
    transition: gap 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.portal-settings-sidebar {
    transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1), flex-basis 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), margin-right 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.portal-settings-shell.sidebar-collapsed .portal-settings-sidebar {
    width: 0 !important;
    flex: 0 0 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    margin-right: -22px !important;
    /* negates the gap: 22px */
}

/* Toggle button styling */
.portal-sidebar-toggle-btn {
    background: var(--si-white) !important;
    border: 1px solid var(--si-border) !important;
    border-radius: 8px !important;
    width: 34px !important;
    height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    color: var(--si-brand-blue) !important;
    font-size: 14px !important;
    transition: all 0.2s ease !important;
    margin-right: 8px !important;
    padding: 0 !important;
}

.portal-sidebar-toggle-btn:hover {
    background: rgba(14, 77, 143, 0.06) !important;
    border-color: var(--si-brand-blue) !important;
    color: var(--si-brand-blue) !important;
}

@media (max-width: 991px) {
    .portal-sidebar-toggle-btn {
        display: none !important;
        /* Hide on mobile/tablet screens since layout collapses vertically */
    }
}

/* Project Accounting Extended Design System */
.si-description {
    color: #475569;
    font-size: 13px;
    line-height: 1.5;
    margin: 0;
}

.si-project-subtle-badge {
    font-size: 10px;
    font-weight: 600;
    padding: 2px 6px;
    border-radius: 4px;
}

.si-panel-body-padded {
    padding: 15px 20px;
}

.si-sub-table {
    margin-bottom: 20px;
    border: 1px solid #e3e3e3;
}

.si-sub-table-last {
    margin-bottom: 5px;
    border: 1px solid #e3e3e3;
}

.si-sub-table-header {
    font-weight: 700;
    color: #1e293b;
    margin-top: 15px;
    margin-bottom: 10px;
}

.si-sub-table-header-first {
    font-weight: 700;
    color: #1e293b;
    margin-top: 5px;
    margin-bottom: 10px;
}

.si-text-amount-success {
    font-size: 16px;
    font-weight: bold;
    color: #5cb85c;
}

.si-text-amount-danger {
    font-size: 16px;
    font-weight: bold;
    color: #d9534f;
}

#confirmbox {
    z-index: 6000;
}

#confirmbox .modalbox-backdrop {
    z-index: 5999;
}

#confirmbox .devoops-modal {
    z-index: 6000;
}

/* Minimalist Flat Payment Row */
.portal-payment-row {
    padding: 15px;
    border-bottom: 1px solid #e2e8f0;
    background: #ffffff;
    transition: background-color 0.2s ease;
}

.portal-payment-row:hover {
    background-color: #f8fafc;
}

.portal-payment-row:last-child {
    border-bottom: none;
}

.portal-payment-date {
    font-size: 14px;
    font-weight: 700;
    color: #0f172a;
}

.portal-payment-ref {
    color: #64748b;
    font-size: 11px;
    margin-top: 4px;
    font-weight: 500;
}

.portal-payment-method-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #f1f5f9;
    color: #334155;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 500;
    border: 1px solid #e2e8f0;
}

.portal-payment-note {
    color: #475569;
    font-size: 13px;
}

.portal-payment-amount {
    color: #0f172a;
    font-size: 15px;
}

/* Reusable form styling utilities / Design System components */
.box-title-light {
    border-bottom: 2px solid #3c8dbc;
    padding-bottom: 8px;
    color: #333;
    font-weight: 600;
    margin-bottom: 15px;
}

.border-top-double {
    border-top: 3px double #cbd5e1;
}

.bold-800 {
    font-weight: 800;
}

.none-margin-bottom {
    margin-bottom: 0 !important;
}

.border-color-ddd {
    border-color: #ddd !important;
}

.font-size-14 {
    font-size: 14px !important;
}

.font-size-16 {
    font-size: 16px !important;
}

.padding-15 {
    padding: 15px !important;
}

.width-100 {
    width: 100% !important;
}

.text-dark {
    color: #1e293b !important;
}

.margin-bottom-20 {
    margin-bottom: 20px !important;
}

.margin-top-20 {
    margin-top: 20px !important;
}

.vertical-middle {
    vertical-align: middle !important;
}

/* General Ledger Report Styles */
@media print {

    body.portal-mode-dense .gl-print-container,
    .gl-print-container,
    .gl-print-container * {
        visibility: visible;
    }

    .gl-print-container {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        box-shadow: none !important;
        border: none !important;
        padding: 0 !important;
    }

    .no-print {
        display: none !important;
    }
}

.gl-table th {
    font-weight: 600;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 0.05em;
}

.gl-table td {
    vertical-align: middle !important;
}

.portal-filter-date-control span.fa-calendar {
    cursor: pointer;
}

.gl-filter-panel {
    margin-bottom: 25px;
    border: 1px solid var(--si-border);
    border-radius: var(--si-radius-card);
    box-shadow: var(--si-shadow-soft);
    background: var(--si-white);
}

.gl-filter-body {
    padding: 20px;
}

.gl-filter-group {
    margin-right: 20px;
}

.gl-filter-label {
    margin-right: 8px;
    font-weight: 600;
}

.gl-date-input {
    width: 130px;
}

.gl-filter-group-account {
    margin-right: 20px;
    min-width: 300px;
}

.gl-select-account {
    min-width: 250px;
}

.gl-filter-btn {
    margin-top: 5px;
}

.gl-reset-btn {
    margin-top: 5px;
    margin-left: 5px;
}

.gl-print-container {
    background: var(--si-white);
    border: 1px solid var(--si-border);
    border-radius: var(--si-radius-card);
    padding: 35px;
    box-shadow: var(--si-shadow-soft);
}

.gl-report-header {
    margin-bottom: 35px;
    border-bottom: 1px solid var(--si-border);
    padding-bottom: 25px;
}

.gl-report-title {
    margin: 0;
    font-size: 24px;
    font-weight: bold;
    color: var(--si-ink) !important;
    letter-spacing: -0.02em;
}

.gl-company-name {
    margin: 6px 0 0 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--si-slate);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.gl-period-label {
    margin: 12px 0 0 0;
    font-size: 13px;
}

.gl-account-section {
    margin-bottom: 40px;
}

.gl-account-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
    background: var(--si-off-white);
    padding: 10px 15px;
    border-radius: var(--si-radius-button);
    border: 1px solid var(--si-border);
}

.gl-account-title {
    margin: 0;
    font-size: 15px;
    font-weight: bold;
    color: var(--si-ink) !important;
}

.gl-type-badge {
    text-transform: uppercase;
    font-size: 9px;
    padding: 3px 6px;
}

.gl-table-margin {
    margin-bottom: 0;
}

.gl-table-header-row {
    border-bottom: 2px solid var(--si-border);
    color: var(--si-ink);
}

.gl-opening-row {
    font-style: italic;
    background: rgba(248, 249, 251, 0.4);
}

.gl-opening-label {
    font-weight: 600;
    color: var(--si-slate);
}

.gl-src-link {
    font-weight: 600;
    text-decoration: none;
}

.gl-src-no-link {
    color: var(--si-ink);
}

.gl-entry-badge {
    text-transform: uppercase;
    font-size: 8px;
    padding: 2px 5px;
}

.gl-desc-col {
    font-size: 13px;
    max-width: 250px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gl-amount-col {
    font-weight: 500;
    color: var(--si-ink);
}

.gl-balance-col {
    font-weight: 600;
    color: var(--si-ink);
}

.gl-summary-row {
    font-weight: bold;
    border-top: 1px solid var(--si-border);
    background: var(--si-off-white);
}

.gl-lbl-summary,
.gl-debit-summary,
.gl-credit-summary,
.gl-balance-summary {
    font-size: 12px;
}

.gl-lbl-summary {
    color: var(--si-ink);
}

.gl-debit-summary {
    color: var(--si-success);
}

.gl-credit-summary {
    color: var(--si-danger);
}

.gl-balance-summary {
    color: var(--si-brand-blue);
}

.gl-grand-summary {
    border-top: 2px double var(--si-brand-blue);
    border-bottom: 2px double var(--si-brand-blue);
    padding: 15px;
    margin: 30px 0 0 0;
    font-weight: bold;
    font-size: 14px;
    background: var(--si-off-white);
    border-radius: var(--si-radius-button);
}

.gl-grand-label {
    padding-left: 0;
    text-transform: uppercase;
    color: var(--si-ink);
}

.gl-grand-values {
    padding-right: 0;
    display: flex;
    justify-content: flex-end;
    gap: 30px;
}

.gl-grand-debit {
    color: var(--si-success);
}

.gl-grand-credit {
    color: var(--si-danger);
}

.gl-empty-container {
    padding: 50px 0;
    color: var(--si-slate);
}

.gl-empty-icon {
    margin-bottom: 15px;
    opacity: 0.5;
}

.gl-empty-title {
    font-size: 16px;
    font-weight: 600;
}

.gl-col-width-date {
    width: 12%;
}

.gl-col-width-ref {
    width: 15%;
}

.gl-col-width-type {
    width: 15%;
}

.gl-col-width-desc {
    width: 28%;
}

.gl-col-width-amt {
    width: 10%;
}

.gl-empty-row-padding {
    padding: 15px 0 !important;
}

/* Accounts Receivable (AR) Module Styles */
.ar-container {
    background: var(--si-white);
    border: 1px solid var(--si-border);
    border-radius: var(--si-radius-card);
    padding: 30px;
    box-shadow: var(--si-shadow-soft);
    margin-top: 15px;
}

.ar-nav-tabs {
    border-bottom: 2px solid var(--si-border);
    display: flex;
    gap: 15px;
    margin-bottom: 25px;
}

.ar-nav-link {
    font-size: 14px;
    font-weight: 600;
    color: var(--si-slate);
    padding: 10px 15px;
    border-bottom: 3px solid transparent;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none !important;
}

.ar-nav-link:hover {
    color: var(--si-brand-blue);
    border-bottom-color: rgba(14, 77, 143, 0.3);
}

.ar-nav-link.active {
    color: var(--si-brand-blue);
    border-bottom-color: var(--si-brand-blue);
}

.ar-indicators {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}

.ar-indicator-card {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.7), rgba(248, 250, 252, 0.8));
    border: 1px solid rgba(226, 232, 240, 0.8);
    border-radius: var(--si-radius-button);
    padding: 20px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    backdrop-filter: blur(10px);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ar-indicator-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05);
}

.ar-indicator-title {
    font-size: 12px;
    font-weight: 700;
    color: var(--si-slate);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 5px;
}

.ar-indicator-value {
    font-size: 26px;
    font-weight: 800;
    color: var(--si-ink);
}

.ar-indicator-desc {
    font-size: 11px;
    color: #64748b;
    margin-top: 4px;
}

.ar-table th {
    font-size: 12px;
    font-weight: 700;
    color: var(--si-slate);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 12px 10px !important;
}

.ar-table td {
    vertical-align: middle !important;
    padding: 12px 10px !important;
}

.ar-btn-settle {
    font-size: 11px;
    font-weight: bold;
    text-transform: uppercase;
    padding: 5px 12px;
    border-radius: 4px;
}

.ar-aging-row-header {
    cursor: pointer;
    font-weight: 600;
    transition: background-color 0.15s ease;
}

.ar-aging-row-header:hover {
    background-color: var(--si-off-white) !important;
}

.ar-collapsible-invoices {
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: var(--si-radius-button);
    padding: 15px;
    margin: 10px 0;
}

.ar-sub-table {
    margin-bottom: 0;
    background: transparent;
    width: 100%;
}

.ar-sub-table th {
    border-bottom: 1px solid #cbd5e1 !important;
    color: #475569;
    font-size: 11px;
    padding: 8px 6px !important;
}

.ar-sub-table td {
    border-top: 1px solid #e2e8f0 !important;
    font-size: 12px;
    padding: 8px 6px !important;
    color: #334155;
}

.ar-settle-form-card {
    /* max-width: 900px; */
    margin: 0 auto;
    background: #ffffff;
    border: 1px solid var(--si-border);
    border-radius: var(--si-radius-card);
    padding: 30px;
}

.ar-allocation-section {
    border: 1px solid #e2e8f0;
    border-radius: var(--si-radius-button);
    background: #f8fafc;
    padding: 20px;
    margin-top: 20px;
}

.ar-allocation-title {
    font-size: 14px;
    font-weight: bold;
    color: #1e293b;
    margin-bottom: 15px;
}

.ar-unallocated-banner {
    background: #e0f2fe;
    color: #0369a1;
    border: 1px solid #bae6fd;
    border-radius: 4px;
    padding: 10px 15px;
    font-weight: 600;
    margin-bottom: 15px;
    display: flex;
    justify-content: space-between;
}

.ar-unallocated-banner.danger {
    background: #fee2e2;
    color: #b91c1c;
    border-color: #fca5a5;
}

.ar-badge-status {
    font-size: 10px;
    font-weight: bold;
    text-transform: uppercase;
    padding: 3px 8px;
    border-radius: 12px;
    display: inline-block;
}

.ar-badge-status.current {
    background: #dcfce7;
    color: #15803d;
}

.ar-badge-status.overdue {
    background: #fee2e2;
    color: #b91c1c;
}

/* Bank Reconciliation Styling */
.recon-workspace {
    display: flex;
    gap: 20px;
    min-height: calc(100vh - 220px);
    margin-top: 15px;
}

.recon-left-panel {
    flex: 0 0 420px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.recon-right-panel {
    flex: 1;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    padding: 20px;
    display: flex;
    flex-direction: column;
}

.recon-header {
    padding: 15px;
    border-bottom: 1px solid #f1f5f9;
    background: #f8fafc;
}

.recon-upload-zone {
    padding: 20px;
    border: 2px dashed #cbd5e1;
    border-radius: 8px;
    text-align: center;
    background: #f8fafc;
    transition: all 0.2s ease-in-out;
    margin-bottom: 15px;
}

.recon-upload-zone:hover {
    border-color: #3b82f6;
    background: #f0f7ff;
}

.recon-line-list {
    flex: 1;
    overflow-y: auto;
    max-height: 600px;
}

.recon-line-item {
    padding: 10px 15px;
    border-bottom: 1px solid #f1f5f9;
    cursor: pointer;
    transition: background 0.15s ease-in-out;
    position: relative;
}

.recon-line-item:hover {
    background: #f8fafc;
}

.recon-line-item.active {
    background: #eff6ff;
    border-left: 4px solid #3b82f6;
}

.recon-line-item-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 4px;
}

.recon-line-date {
    font-weight: 500;
    color: #64748b;
    font-size: 13px;
}

.recon-line-amount {
    font-weight: 700;
    font-size: 15px;
}

.recon-amount-in {
    color: #10b981;
}

.recon-amount-out {
    color: #ef4444;
}

.recon-line-desc-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin-top: 2px;
}

.recon-line-desc {
    font-size: 13px;
    color: #334155;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
    min-width: 0;
}

.recon-line-ref {
    font-size: 11px;
    color: #94a3b8;
    margin-top: 2px;
}

.recon-badge {
    font-size: 11px;
    padding: 3px 8px;
    border-radius: 9999px;
    font-weight: 600;
    display: inline-block;
    margin-top: 0;
    line-height: 1.25;
}

.recon-badge-unreconciled {
    background: #f1f5f9;
    color: #475569;
}

.recon-badge-reconciled {
    background: #d1fae5;
    color: #065f46;
}

.recon-tab-content {
    display: none;
}

.recon-tab-content.active {
    display: block;
}

.suggestion-card {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: border 0.15s ease-in-out;
}

.suggestion-card:hover {
    border-color: #cbd5e1;
}

.suggestion-card.high-match {
    background: #f0fdf4;
    border-color: #bbf7d0;
}

.score-badge {
    font-size: 12px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 4px;
    margin-right: 8px;
}

.score-high {
    background: #dcfce7;
    color: #15803d;
}

.score-medium {
    background: #fef9c3;
    color: #a16207;
}

.recon-loader {
    border: 3px solid #f3f3f3;
    border-top: 3px solid #3b82f6;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    animation: spin 1s linear infinite;
    display: inline-block;
    vertical-align: middle;
    margin-right: 8px;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.recon-panel-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.recon-title-subtext {
    font-size: 14px;
    margin-left: 10px;
}

.recon-balance-badge {
    padding: 6px 12px;
}

.recon-select-form {
    margin-bottom: 12px;
}

.recon-form-group-compact {
    margin-bottom: 8px;
}

.recon-upload-container {
    display: none;
    padding: 15px;
    border-bottom: 1px solid #e2e8f0;
    background: #fafafa;
}

.recon-upload-icon {
    margin-bottom: 8px;
}

.recon-upload-text {
    font-weight: 500;
    font-size: 13px;
}

.recon-file-info {
    display: none;
    margin-bottom: 10px;
    font-weight: 600;
    text-align: center;
}

.recon-empty-lines {
    padding: 40px 20px;
    text-align: center;
}

.recon-empty-lines-icon {
    margin-bottom: 10px;
}

.recon-detail-header {
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 15px;
    margin-bottom: 20px;
}

.recon-detail-kicker {
    font-weight: 700;
    letter-spacing: 0.5px;
}

.recon-detail-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 5px;
}

.recon-detail-desc {
    margin: 0;
    font-weight: 700;
    color: #1e293b;
}

.recon-detail-meta {
    margin-top: 4px;
    display: flex;
    gap: 15px;
}

.recon-detail-amount {
    font-size: 22px;
}

.recon-loading-suggestions {
    display: none;
    text-align: center;
    padding: 20px;
}

.recon-search-container {
    margin-bottom: 15px;
}

.recon-ledger-container {
    max-height: 400px;
    overflow-y: auto;
}

.recon-ledger-loading {
    text-align: center;
    padding: 20px;
}

.recon-select-full {
    width: 100% !important;
}

.recon-empty-workspace {
    padding: 100px 20px;
    text-align: center;
}

.recon-empty-workspace-icon {
    margin-bottom: 20px;
    color: #e2e8f0;
}

.recon-alert-reconciled {
    padding: 20px;
    border-radius: 8px;
}

.recon-alert-title {
    margin-top: 0;
    font-weight: 700;
}

.recon-matched-card {
    background: #ffffff;
    border: 1px solid #bbf7d0;
    padding: 12px;
    border-radius: 6px;
    margin: 15px 0;
}

.recon-matched-title {
    font-weight: 700;
    color: #065f46;
}

.recon-matched-details {
    font-size: 12px;
    color: #4b5563;
    margin-top: 4px;
}

.recon-empty-suggestions {
    padding: 30px;
    text-align: center;
}

.recon-empty-suggestions-text {
    margin-top: 10px;
}

.recon-empty-suggestions-icon {
    margin-bottom: 10px;
}

.recon-suggestions-title {
    font-weight: 700;
    margin-bottom: 12px;
}

.recon-flex-align {
    display: flex;
    align-items: center;
}

.recon-card-meta {
    margin-top: 6px;
    font-size: 12px;
    color: #64748b;
}

.recon-align-right {
    text-align: right;
}

.recon-card-amount {
    font-weight: 700;
    font-size: 15px;
    margin-bottom: 6px;
    color: #1e293b;
}

.recon-notification {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 9999;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    min-width: 300px;
}

.recon-title-flex {
    display: flex;
    align-items: center;
    gap: 15px;
}

.recon-switcher-select {
    width: 250px;
}

/* Global Premium Toast Alerts */

/* ── Container: stacks toasts top-down ─────────────────────────────── */
#global-toast-container {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 100000;
    display: flex;
    flex-direction: column;
    gap: 10px;
    pointer-events: none;
    max-height: calc(100vh - 40px);
}

/* ── Toast card base ────────────────────────────────────────────────── */
.global-toast-alert {
    pointer-events: all !important;
    position: relative !important;
    min-width: 340px !important;
    max-width: 480px !important;
    background: rgba(255, 255, 255, 0.72) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border-radius: 12px !important;
    border-left: 4px solid var(--toast-accent, #1d4ed8) !important;
    box-shadow:
        0 1px 3px rgba(0, 0, 0, 0.06),
        0 8px 20px -4px rgba(0, 0, 0, 0.10),
        0 20px 40px -8px rgba(0, 0, 0, 0.12),
        0 0 0 1px rgba(0, 0, 0, 0.04) !important;
    padding: 14px 14px 18px 14px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 12px !important;
    overflow: hidden !important;
    font-family: 'Inter', 'Noto Sans Khmer', sans-serif !important;
    transition: transform 0.35s cubic-bezier(0.34, 1.22, 0.64, 1), opacity 0.35s ease !important;
    transform: translateX(120%);
    opacity: 0;
}

.global-toast-alert.show {
    transform: translateX(0) !important;
    opacity: 1 !important;
}

.global-toast-alert.hiding {
    transform: translateX(120%) !important;
    opacity: 0 !important;
}

/* ── Variant tokens ─────────────────────────────────────────────────── */
.global-toast-alert-success {
    --toast-accent: #059669;
    --toast-icon-bg: #dcfce7;
    --toast-icon-color: #059669;
}

.global-toast-alert-danger {
    --toast-accent: #dc2626;
    --toast-icon-bg: #fee2e2;
    --toast-icon-color: #dc2626;
}

.global-toast-alert-warning {
    --toast-accent: #d97706;
    --toast-icon-bg: #fef3c7;
    --toast-icon-color: #d97706;
}

.global-toast-alert-info {
    --toast-accent: #1d4ed8;
    --toast-icon-bg: #dbeafe;
    --toast-icon-color: #1d4ed8;
}

/* ── Icon badge ─────────────────────────────────────────────────────── */
.global-toast-alert-icon-wrap {
    flex-shrink: 0 !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: var(--toast-icon-bg, #dbeafe) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 1px !important;
}

.global-toast-alert-icon {
    font-size: 15px !important;
    color: var(--toast-icon-color, #1d4ed8) !important;
}

/* ── Text body ──────────────────────────────────────────────────────── */
.global-toast-alert-body {
    flex: 1 !important;
    min-width: 0 !important;
    padding-right: 18px !important;
    /* Leave space for absolute close button */
}

.global-toast-alert-type {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--toast-icon-color, #1d4ed8);
    margin-bottom: 3px;
}

.global-toast-alert-message {
    font-size: 13px;
    font-weight: 600;
    color: #0d1117;
    line-height: 1.45;
    word-break: break-word;
}

/* ── Close button ───────────────────────────────────────────────────── */
.global-toast-alert-close {
    position: absolute;
    top: 14px;
    right: 14px;
    background: none;
    border: none;
    color: #94a3b8;
    cursor: pointer;
    font-size: 18px;
    padding: 0;
    line-height: 1;
    transition: color 0.15s ease;
}

.global-toast-alert-close:hover {
    color: #475569;
}

/* ── Progress bar ───────────────────────────────────────────────────── */
.global-toast-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    width: 100%;
    background: var(--toast-accent, #1d4ed8);
    border-radius: 0 0 0 8px;
    opacity: 0.65;
}

/* ── Khmer Language UI/UX Enhancements ────────────────────────────── */

html[lang="kh"] h1, 
html[lang="kh"] .h1,
html[lang="kh"] #main .page-header .pull-left h1 {
    font-size: 29px !important;
}
html[lang="kh"] h2, 
html[lang="kh"] .h2,
html[lang="kh"] .box .box-title h3,
html[lang="kh"] .login .wrapper .login-body h2,
html[lang="kh"] .auth-card h2 {
    font-size: 21px !important;
}
html[lang="kh"] h3, 
html[lang="kh"] .h3 {
    font-size: 25px !important;
}
html[lang="kh"] h4, 
html[lang="kh"] .h4 {
    font-size: 19px !important;
}
html[lang="kh"] h5, 
html[lang="kh"] .h5 {
    font-size: 15px !important;
}
html[lang="kh"] h6, 
html[lang="kh"] .h6 {
    font-size: 13px !important;
}
html[lang="kh"] input,
html[lang="kh"] select,
html[lang="kh"] textarea,
html[lang="kh"] button,
html[lang="kh"] .btn,
html[lang="kh"] .form-control {
    font-size: 15px !important;
}
html[lang="kh"] .dropdown-menu {
    font-size: 15px !important;
}

/* html[lang="kh"] table,
html[lang="kh"] .table,
html[lang="kh"] .table>tbody>tr>td,
html[lang="kh"] .table>tbody>tr>th,
html[lang="kh"] .table>tfoot>tr>td,
html[lang="kh"] .table>tfoot>tr>th {
    font-size: 15px !important;
} */

html[lang="kh"] .table>thead>tr>th {
    font-size: 14px !important;
}

/* Dense Mode Table Adjustments */
html[lang="kh"] .portal-mode-dense .table-colored-header>tbody>tr>td,
html[lang="kh"] .portal-mode-dense #listItem>tbody>tr>td,
html[lang="kh"] .portal-mode-dense .table-colored-header>tfoot>tr>td,
html[lang="kh"] .portal-mode-dense #listItem>tfoot>tr>td {
    font-size: 14px !important;
}
html[lang="kh"] .portal-mode-dense .table-colored-header .btn,
html[lang="kh"] .portal-mode-dense #listItem .btn,
html[lang="kh"] .portal-mode-dense .table-colored-header .dropdown-toggle,
html[lang="kh"] .portal-mode-dense #listItem .dropdown-toggle {
    font-size: 13px !important;
}

/* Sidebar & Navigation Adjustments */
html[lang="kh"] #navigation .main-nav>li>a.portal-main-nav-link {
    font-size: 14px !important;
}
html[lang="kh"] #left .portal-side-heading-label {
    font-size: 15px !important;
}
html[lang="kh"] #left .portal-side-toggle-label,
html[lang="kh"] #left .subnav .subnav-menu>li>a {
    font-size: 14px !important;
}

/* Labels and Helper Texts */
html[lang="kh"] label,
html[lang="kh"] .control-label {
    font-size: 15px !important;
}

/* Auth Pages Specifics */
html[lang="kh"] .brand-auth-eyebrow {
    font-size: 12px !important;
}
html[lang="kh"] .brand-auth-title {
    font-size: 29px !important;
}
html[lang="kh"] .brand-auth-copy {
    font-size: 17px !important;
}
html[lang="kh"] .auth-secondary-link {
    font-size: 15px !important;
}

/* Toast Alerts Specifics */
html[lang="kh"] .global-toast-alert-message {
    font-size: 14px !important;
}
html[lang="kh"] .global-toast-alert-type, html[lang="kh"] .portal-mode-executive .si-stat-label {
    font-size: 12px !important;
}

/* Status Labels & Currency */
html[lang="kh"] .cls_status {
    font-size: 12px !important;
}
html[lang="kh"] .curreny-kh {
    font-size: 14px !important;
}

/* Utility Class Font Size Overrides (Increase by 1px) */
html[lang="kh"] .font-size-36 { font-size: 37px !important; }
html[lang="kh"] .font-size-34 { font-size: 35px !important; }
html[lang="kh"] .font-size-32 { font-size: 33px !important; }
html[lang="kh"] .font-size-30 { font-size: 31px !important; }
html[lang="kh"] .font-size-28 { font-size: 29px !important; }
html[lang="kh"] .font-size-26 { font-size: 27px !important; }
html[lang="kh"] .font-size-24 { font-size: 25px !important; }
html[lang="kh"] .font-size-20 { font-size: 21px !important; }
html[lang="kh"] .font-size-18 { font-size: 19px !important; }
html[lang="kh"] .font-size-16 { font-size: 17px !important; }
html[lang="kh"] .font-size-14 { font-size: 15px !important; }
html[lang="kh"] .font-size-13 { font-size: 14px !important; }
html[lang="kh"] .font-size-12 { font-size: 13px !important; }
html[lang="kh"] .font-size-11 { font-size: 12px !important; }
html[lang="kh"] .font-size-10 { font-size: 11px !important; }
html[lang="kh"] .font-size-9 { font-size: 10px !important; }
html[lang="kh"] .font-size-8 { font-size: 9px !important; }

html[lang="kh"] .font36, html[lang="kh"] .font36 .fa { font-size: 37px !important; }
html[lang="kh"] .font34, html[lang="kh"] .font34 .fa { font-size: 35px !important; }
html[lang="kh"] .font32, html[lang="kh"] .font32 .fa { font-size: 33px !important; }
html[lang="kh"] .font30, html[lang="kh"] .font30 .fa { font-size: 31px !important; }
html[lang="kh"] .font28, html[lang="kh"] .font28 .fa { font-size: 29px !important; }
html[lang="kh"] .font26, html[lang="kh"] .font26 .fa { font-size: 27px !important; }
html[lang="kh"] .font24, html[lang="kh"] .font24 .fa { font-size: 25px !important; }
html[lang="kh"] .font20, html[lang="kh"] .font20 .fa { font-size: 21px !important; }
html[lang="kh"] .font18, html[lang="kh"] .font18 .fa { font-size: 19px !important; }
html[lang="kh"] .font16, html[lang="kh"] .font16 .fa { font-size: 17px !important; }
html[lang="kh"] .font14, html[lang="kh"] .font14 .fa { font-size: 15px !important; }

/* ── Floating Navigation Scroll Animations ────────────────────────── */
#navigation.navigation-scrolled {
    margin: 0px !important;
    border-radius: 0px !important;
    border-left: 0px !important;
    border-right: 0px !important;
    border-top: 0px !important;
    border-bottom: 1px solid rgba(219, 229, 240, 0.9) !important;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 255, 0.98)),
        linear-gradient(180deg, rgba(14, 77, 143, 0.03), rgba(14, 77, 143, 0));
    box-shadow: 0 2px 5px rgb(13 17 23 / 10%) !important;
    backdrop-filter: blur(5px) !important;
    -webkit-backdrop-filter: blur(5px) !important;
}

#navigation .portal-topbar-shell {
    transition: min-height 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

#navigation.navigation-scrolled .portal-topbar-shell {
    min-height: 48px !important;
}

#navigation .portal-brand img {
    transition: width 0.35s cubic-bezier(0.16, 1, 0.3, 1), 
                height 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

#navigation.navigation-scrolled .portal-brand img {
    width: 32px !important;
    height: 32px !important;
}

#navigation .portal-main-nav-link {
    transition: min-height 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

#navigation.navigation-scrolled .portal-main-nav-link {
    min-height: 36px !important;
}

#navigation .portal-main-nav-icon {
    transition: width 0.35s cubic-bezier(0.16, 1, 0.3, 1), 
                height 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

#navigation.navigation-scrolled .portal-main-nav-icon {
    width: 24px !important;
    height: 24px !important;
}

#navigation .portal-topbar-action {
    transition: min-height 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

#navigation.navigation-scrolled .portal-topbar-action {
    min-height: 36px !important;
}

#navigation .portal-topbar-action-icon {
    transition: width 0.35s cubic-bezier(0.16, 1, 0.3, 1), 
                height 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

#navigation.navigation-scrolled .portal-topbar-action-icon {
    width: 24px !important;
    height: 24px !important;
}

/* ==========================================================================
   Flexbox Utilities & Dashboard Equal-Height Grid System
   ========================================================================== */
.display-flex { display: flex !important; }
.display-inline-flex { display: inline-flex !important; }
.flex-row { flex-direction: row !important; }
.flex-column { flex-direction: column !important; }
.flex-wrap { flex-wrap: wrap !important; }
.flex-nowrap { flex-wrap: nowrap !important; }
.flex-1 { flex: 1 1 0% !important; }
.flex-auto { flex: 1 1 auto !important; }
.flex-none { flex: none !important; }

.align-items-start { align-items: flex-start !important; }
.align-items-center { align-items: center !important; }
.align-items-end { align-items: flex-end !important; }
.align-items-stretch { align-items: stretch !important; }
.align-items-baseline { align-items: baseline !important; }

.justify-content-start { justify-content: flex-start !important; }
.justify-content-center { justify-content: center !important; }
.justify-content-end { justify-content: flex-end !important; }
.justify-content-between { justify-content: space-between !important; }
.justify-content-around { justify-content: space-around !important; }

.gap-5 { gap: 5px !important; }
.gap-8 { gap: 8px !important; }
.gap-10 { gap: 10px !important; }
.gap-12 { gap: 12px !important; }
.gap-15 { gap: 15px !important; }
.gap-20 { gap: 20px !important; }

/* Dashboard Equal-Height Flex Rows & Cards */
.si-dashboard-row,
.row.display-flex {
    display: flex !important;
    flex-wrap: wrap !important;
}

.si-dashboard-row > [class*='col-'],
.row.display-flex > [class*='col-'] {
    display: flex !important;
    flex-direction: column !important;
}

.si-dashboard-row .si-panel,
.si-dashboard-row .si-stat-card,
.row.display-flex .si-panel,
.row.display-flex .si-stat-card {
    flex: 1 1 auto !important;
    width: 100%;
    display: flex !important;
    flex-direction: column !important;
    margin-bottom: 20px;
}

.si-panel-body {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

.si-panel-body.is-table {
    display: flex;
    flex-direction: column;
    padding: 0;
}

.si-panel-body > .si-chart-wrap {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

.si-panel-body .si-empty {
    flex: 1 1 auto;
    min-height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    color: var(--si-slate);
}

@media (min-width: 768px) {
    .si-dashboard-row > [class*='col-']:before,
    .si-dashboard-row > [class*='col-']:after,
    .row.display-flex > [class*='col-']:before,
    .row.display-flex > [class*='col-']:after {
        display: none !important;
    }
}

/* ==========================================================================
   Tenant Management Enhancement (Phase 1)
   ========================================================================== */

/* Triage Pills Bar */
.si-triage-bar {
    display: flex;
    align-items: center;
    overflow-x: auto;
    padding-bottom: 4px;
}

.si-triage-pills {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.si-triage-pill {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    border-radius: 20px;
    background: #ffffff;
    border: 1px solid #d1d5db;
    color: #374151;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.15s ease-in-out;
}

.si-triage-pill:hover {
    border-color: #9ca3af;
    background: #f9fafb;
    color: #111827;
}

.si-triage-pill.is-active {
    background: #1e3a8a;
    border-color: #1e3a8a;
    color: #ffffff;
}

.si-triage-pill.is-success.is-active {
    background: #059669;
    border-color: #059669;
    color: #ffffff;
}

.si-triage-pill.is-warning.is-active {
    background: #d97706;
    border-color: #d97706;
    color: #ffffff;
}

.si-triage-pill.is-danger.is-active {
    background: #dc2626;
    border-color: #dc2626;
    color: #ffffff;
}

.si-triage-label {
    margin-right: 6px;
}

.si-triage-count {
    display: inline-block;
    padding: 2px 7px;
    border-radius: 12px;
    background: rgba(0, 0, 0, 0.08);
    font-size: 11px;
    font-weight: 600;
}

.si-triage-pill.is-active .si-triage-count {
    background: rgba(255, 255, 255, 0.25);
    color: #ffffff;
}

/* Nav Tabs for Tenant Cockpit */
.si-nav-tabs {
    border-bottom: 2px solid #e5e7eb;
    margin-bottom: 0;
}

.si-nav-tabs > li > a {
    border: none !important;
    border-radius: 0;
    font-size: 14px;
    font-weight: 600;
    color: #6b7280;
    padding: 12px 18px;
    margin-right: 2px;
    border-bottom: 3px solid transparent !important;
    transition: all 0.15s ease;
    background: transparent;
}

.si-nav-tabs > li > a:hover {
    color: #1f2937;
    background: transparent;
    border-bottom-color: #cbd5e1 !important;
}

.si-nav-tabs > li.active > a,
.si-nav-tabs > li.active > a:hover,
.si-nav-tabs > li.active > a:focus {
    color: #2563eb !important;
    background: transparent !important;
    border-bottom: 3px solid #2563eb !important;
}

.si-nav-tabs .badge {
    background: #e5e7eb;
    color: #4b5563;
    font-size: 11px;
    margin-left: 4px;
}

.si-nav-tabs > li.active .badge {
    background: #dbeafe;
    color: #1e40af;
}

/* Support Notes Cards */
.si-support-note-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 12px;
    transition: box-shadow 0.15s ease;
}

.si-support-note-card:hover {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

.si-support-note-card.is-pinned {
    background: #fffbeb;
    border-color: #fde68a;
    box-shadow: 0 1px 3px rgba(217, 119, 6, 0.1);
}

.si-note-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6px;
}

.si-note-author {
    font-size: 13px;
    color: #1f2937;
}

.si-note-actions {
    display: flex;
    gap: 4px;
}

.si-note-body {
    font-size: 13px;
    color: #374151;
    line-height: 1.5;
    margin-bottom: 6px;
    white-space: pre-wrap;
    word-break: break-word;
}

.si-note-meta {
    font-size: 11px;
    color: #9ca3af;
}

/* Badges extensions */
.si-badge.is-warning {
    background: #fef3c7;
    color: #92400e;
    border: 1px solid #fde68a;
}

.si-badge.is-danger {
    background: #fee2e2;
    color: #991b1b;
    border: 1px solid #fecaca;
}

/* Table Sorting and Live Filtering Enhancements */
.si-table th.si-sortable,
.si-table th.sorting,
.si-table th.sorting_asc,
.si-table th.sorting_desc {
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
    position: relative;
    padding-right: 28px !important;
    background-image: none !important;
}

.si-table th.si-sortable:hover,
.si-table th.sorting:hover,
.si-table th.sorting_asc:hover,
.si-table th.sorting_desc:hover {
    background-color: #f1f5f9;
}

.si-filter-no-matches td {
    padding: 24px 16px !important;
    text-align: center;
    color: #64748b;
    font-size: 13px;
    background: #f8fafc;
}

/* ==========================================================================
   Input Group & Text Filter Consistency Enhancements
   ========================================================================== */

/* Base input-group normalization across the application */
.input-group {
    position: relative;
    display: inline-table;
    vertical-align: middle;
    border-collapse: separate;
}

.input-group .form-control {
    position: relative;
    z-index: 2;
    float: left;
    width: 100%;
    margin-bottom: 0;
    height: 34px !important;
    min-height: 34px !important;
    font-size: 13px;
    border: 1px solid var(--si-border) !important;
    background-color: #ffffff !important;
    box-shadow: none !important;
    border-radius: var(--si-radius-button) !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.input-group-addon {
    padding: 6px 12px;
    font-size: 13px;
    font-weight: normal;
    line-height: 1;
    color: var(--si-slate);
    text-align: center;
    background-color: #f8fafc !important;
    border: 1px solid var(--si-border) !important;
    vertical-align: middle;
    display: table-cell;
    width: 1%;
    white-space: nowrap;
    border-radius: var(--si-radius-button) !important;
    transition: border-color 0.15s ease, color 0.15s ease, background-color 0.15s ease;
}

/* Seamless joining between addon and input */
.input-group-addon:first-child {
    border-right: none !important;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.input-group .form-control:last-child {
    border-left: none !important;
    padding-left: 4px !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.input-group-addon:last-child {
    border-left: none !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.input-group .form-control:first-child:not(:last-child) {
    border-right: none !important;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

/* Compact input-group-sm size (used in table panels and compact toolbars) */
.input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
    height: 30px !important;
    min-height: 30px !important;
    padding: 4px 10px !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
}

.input-group-sm > .input-group-addon:first-child {
    border-top-left-radius: 6px !important;
    border-bottom-left-radius: 6px !important;
}

.input-group-sm > .form-control:last-child {
    border-top-right-radius: 6px !important;
    border-bottom-right-radius: 6px !important;
}

/* Table Quick Filter Search Group */
.si-table-search-group {
    width: 210px;
    display: inline-table !important;
    vertical-align: middle;
}

.si-table-search-group .input-group-addon {
    background-color: #f8fafc !important;
    color: #64748b !important;
    padding: 0 10px !important;
    width: 32px;
}

.si-table-search-group .form-control {
    padding-left: 2px !important;
    font-size: 12px !important;
}

/* Unified focus effect */
.input-group:focus-within .input-group-addon,
.input-group.is-focused .input-group-addon {
    border-color: var(--si-brand-blue) !important;
    color: var(--si-brand-blue) !important;
    background-color: #f0f7ff !important;
}

.input-group:focus-within .form-control,
.input-group.is-focused .form-control {
    border-color: var(--si-brand-blue) !important;
    box-shadow: 0 0 0 3px rgba(14, 77, 143, 0.12) !important;
}