﻿.sis-form.dxbl-fl .dxbl-row {
    margin-top: max(0px, var(--dxbl-fl-row-item-spacing-y)) !important;
}
.small-header-popup .dxbl-popup-header {
    height: 15px !important;
    min-height: 15px !important;
    padding: 4px 10px !important; /* điều chỉnh padding cho cân đối */
}
.dxbl-spin-btns {
    display: none !important;
}
dxbl-spinedit input.dxbl-text-edit-input {
    text-align: right !important;
}

.dxbl-fl-cpt,
.dxbl-fl-cpt.dxbl-text,
.dxbl-fl-cpt .dxbl-text {
    padding-left: 10px !important;
}
.chkclass {
    width: fit-content;
}

.dxGrid .dxbs-grid-header-content {
    justify-content: right;
}
.grd-detail .dxbl-grid-table tr {
    height: 20px;
}

/* Reduce vertical gap produced by DevExpress form-layout tab pages */
.css-header,
.css-detail {
    padding: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    height: auto !important;
}
/* Target DevExpress internal containers (safe and specific) */
.css-header .dx-formlayout-tab-page-content,
.css-detail .dx-formlayout-tab-page-content,
.css-header .dx-formlayout-content,
.css-detail .dx-formlayout-content,
.css-header .dx-formlayout-group,
.css-detail .dx-formlayout-group,
.css-header .dx-formlayout-item,
.css-detail .dx-formlayout-item {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* If a global rule forces UL/LI or other elements to be inline, ensure normal flow */
.css-header *, .css-detail * {
    box-sizing: border-box;
}

/* Optional: if still have top gap, collapse immediate sibling spacing */
.css-header + .css-detail {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* ============================================
       MINI LAYOUT FOR DevExpress DxFormLayout 24.2
   ============================================ */

/* Không gian giữa các hàng trong form */
.frm-header .dxbl-fl-row {
    row-gap: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.dxbl-fl-ctrl {
    margin-right: 5px !important;
}

.dxbl-fl-item.no-caption .dxbl-fl-cpt {
    display: none !important; /* Ẩn label */
}

.dxbl-fl-item.no-caption .dxbl-fl-ctrl {
    margin-top: 0px !important; /* Kéo control lên thẳng hàng */
}
/* Khoảng cách giữa các cột */
.frm-header .dxbl-fl-col {
    padding: 0 !important;
    margin: 0 !important;
}

/* Từng item trong FormLayout */
.frm-header .dxbl-fl-item {
    margin: 0 !important;
    padding: 0 !important;
}

/* Giảm khoảng cách giữa label và control */
.frm-header .dxbl-fl-label {
    margin-bottom: 1px !important;
    padding-bottom: 0 !important;
}

/* Giảm khoảng cách nội bộ của FormLayout */
.frm-header .dxbl-form-layout {
    row-gap: 1px !important;
    grid-row-gap: 1px !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* TabPage header không bị tạo gap */
.frm-header .dxbl-formlayout-tab-page {
    padding: 0 !important;
    margin: 0 !important;
}

/* Bỏ padding của content trong TabPage */
.frm-header .dxbl-formlayout-tab-page-content {
    padding: 0 !important;
    margin: 0 !important;
}

/* Group trong FormLayout */
.frm-header .dxbl-formlayout-group {
    padding: 0 !important;
    margin: 0 !important;
}

/* Khoảng cách giữa Item bên trong Group */
.frm-header .dxbl-formlayout-item {
    padding: 0 !important;
    margin-bottom: 1px !important;
}

/* Tối ưu label trong group */
.frm-header .dxbl-fl-item-horizontal {
    margin-bottom: 1px !important;
}

/* Ngăn DevExpress sinh thêm padding vô cớ */
.frm-header * {
    box-sizing: border-box !important;
}
/* Loại bỏ gutter và padding của bootstrap row/col trong DxFormLayout */
.frm-header .row {
    margin-left: 10px !important;
    margin-right: 5px !important;
}

.frm-header .row > [class*="col"] {
    padding-left: 10px !important;
    padding-right: 3px !important;
}

.css-header-grp {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: 20px !important;
    background: #f0f8ff !important;
}

/* Giảm kích cỡ text cho đồng bộ */
.css-header-cap {
    font-size: 11px !important;
    font-weight: bold !important;
    line-height: 13px !important;
    color: blue !important;
    padding: 0 !important;
}
/* Ẩn nền xám và kiểu mặc định của header Tổng cộng trên phiếu*/
.dx-total-box .dxbl-group-header {
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
    margin: 0 !important;
    height: auto !important;
    position: relative !important;
}

/* Nhóm có border */
.dx-total-box dxbl-group-control {
    border: 1px solid #cfcfcf !important;
    border-radius: 4px;
    background: #fff;
    padding: 10px 0px 0px 0px; /* sát hơn */
    margin-top: 1px;
    position: relative;
}

/* Caption gọn – sát border như legend */
.dx-total-box .dxbl-group-header .dxbl-text {
    position: absolute !important;
    top: -20px !important; /* sát border */
    left: 18px !important;
    background: #fff;
    padding: 0 1px; /* nhỏ hơn */
    font-weight: 500;
    color: blue !important;
    font-size: 12px;
    z-index: 10;
}
.dx-total-box .dxbl-group-header .dxbl-btn-text-secondary {
    position: absolute !important;
    top: -22px !important;
    left: 8px !important;
    background: #fff;
}
    /* Xóa đường line trong header */
    .dx-total-box .dxbl-group-header::before, .dx-total-box .dxbl-group-header::after {
    display: none !important;
}

/**/
.btn-pill {
    border-radius: 50px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    font-size: 0.85rem !important;
    height: 18px !important;
    width: 100px !important;
    min-width: 0 !important;
}

.btn-sm {
    font-size: 0.85rem !important;
    padding: 4px 12px !important;
    height: 22px !important;
}
/* Grid Browse */
.my-pager > .dxbl-btn-group > .dxbl-pager-page-btn {
    background-color: #ffbc00 !important;
}

.my-pager > .dxbl-btn-group > .dxbl-pager-active-page-btn {
    background-color: #005fff !important;
}

.my-pager > .dxbl-btn-group {
    height: 25px;
    margin-bottom: 2px;
}

.my-pager {
    height: 35px;
    align-items: center;
    margin-bottom: 1px;
}

.dropdown {
    position: relative;
    display: inline-block;
    border-radius: 15px;  
}

.dropdown-body {
    background-color: transparent;     
}

.dropbtn {
    width: 100%;
    background-color: transparent
}

.dropdown-content {
    display: none;
    position: absolute;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
    z-index: 1;
}

.dropdown-content a {
        color: black;
        padding: 12px 16px;
        text-decoration: none;
        display: block;
        background-color: #cde3fc;
        box-shadow: 0px -1px 3px 1px rgba(0, 0, 0, 0.2);
    }

.dropdown-content a:hover {
            background-color: #f1f1f1
        }

.dropdown:hover .dropdown-content {
    display: block;
}

.dropdown:hover .dropbtn, .col-ald:hover, .img-with-text:hover {
    background-color: #ffbc00;
    border-radius: 5px;
    opacity: 50%;
}
.dropdown-dvcs {   
    border: none;
    height: 40px;
    outline: none;
    background-color: #fff;
}
.dvcs {
    width:100%;
    padding: 10px 0;
    background-color: #fff;
    border: none;
    font-size:12px;
}
.col-ali {
    display: inline-block;
    width: auto;
    height: 31px;
    border: 1px solid #f8f8ff;
    border-radius: 5px;
    padding: 2px;
    margin: 2px;
    box-shadow: 0 0 3px 0 #CCCCFF;
    outline: none;
    background-color:#fff;
}
.col-ali1 {  
    width:97%;
    height: 38px;
    border: 1px solid #f8f8ff;
    border-radius: 5px;
    margin: 2px 4px;  
    box-shadow: 0 0 3px 0 #CCCCFF;
    outline: none;
    background-color: #fff;
}

.image-container {
    position: relative;
    margin-bottom: auto;
    margin-top: auto;
}

.image-container img {
        display: block;
        width: 40px;
        height: 20px;
}

.overlay-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    font-size: .8rem;
    font-weight: 440;
}

.img-with-text {
    display: inline-block;
    outline: none;
    width: 60px;
    height: 28px;
    margin: 0px;
}

.img-with-text img {
        display: block;
        margin: 0 auto;
        width: 23px;
        height: 16px;
        padding: 0px;
}

.img-with-text p {
        font-size: 0.5rem;
        color: blue;
        text-align: center;
}

.ipicture {
    width: 26px;
    height: 26px;
    padding: 4px;
}

.noti-card {
    /* Add shadows to create the "card" effect */
    box-shadow: 0 2px 5px 0 rgba(0,0,0,0.2);
    transition: 0.3s;
    padding: 4px;
    margin-top: 4px;
}
    
.noti-card:hover {
        box-shadow: 0 5px 10px 0 rgba(0,0,0,0.2);
    }

.noti-container {
    padding: 4px;
}

.img_link {
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.2), 0 5px 10px 0 rgba(0, 0, 0, 0.2);
    border-radius: 10px;
    width: 100%;
}

.noti-container {
    color: #1072B9;
}

.noti_noi_dung {
    color: black;
}

.icircle {
    display: inline-block;
    border-radius: 50%;
    background-color: gold;
    color: orangered;
    font-size: 0.8em;
    width: 16px;
    height: 16px;
    text-align: center;
    vertical-align: top;
    margin-left: -2px;
    animation-name: example;
    animation-duration: 4s;
    animation-iteration-count: infinite;
}

.icircle1 {
    display: inline-block;
    border-radius: 50%;
    background-color: gold;
    color: orangered;
    font-size: 0.8em;
    width: 16px;
    height: 16px;
    text-align: center;
    vertical-align: top;
    margin-left: -2px;  
}
.icaption {
    color: dodgerblue;
    font-weight: 500;
    font-size: 1rem;
    font-family: SVN-Gilroy;
}

.ismallcaption {
    color: #1072B9;
    font-size: 0.5rem;
    font-family: SVN-Gilroy;
}

.btncmdgroup {
    width: 5vw;
    height: 25px;
    font-weight: bold;
    min-height: 21px;
    min-width: 70px;
}

.mnucmdgroup {
    width: 200px;
    height: 25px;
    font-weight: bold;
    min-height: 21px;
    min-width: 170px;
}

.btncmdopt {
    text-align: right;
    width: 21px;
    height: 21px;
    font-weight: bolder;
    background-color: lightblue;
    color: #FE9900;
    min-height: 21px;
    min-width: 20px;
}

.btn-icon-info {
    width: 10px;
    height: 10px;
    -webkit-mask-image: url("../images/icons/info.svg");
    mask-image: url("../images/icons/info.svg");
    background-color: currentColor;
    opacity: 1.0;
}

.btn-icon-copy {
    width: 14px;
    height: 14px;
    -webkit-mask-image: url("../images/icons/copy.svg");
    mask-image: url("../images/icons/copy.svg");
    background-color: currentColor;
    opacity: 1.0;
}

.btn-icon-close {
    width: 14px;
    height: 14px;
    -webkit-mask-image: url("../images/icons/close.svg");
    mask-image: url("../images/icons/close.svg");
    background-color: currentColor;
    opacity: 1.0;
}

.btn-icon-edit {
    width: 14px;
    height: 14px;
    -webkit-mask-image: url("../Images/Icon_sua.svg");
    mask-image: url("../Images/Icon_sua.svg");
    background-color: currentColor;
    opacity: 1.0;
}

.btn-icon-new {
    width: 14px;
    height: 14px;
    -webkit-mask-image: url("../Images/Icon_them_moi.svg");
    mask-image: url("../Images/Icon_them_moi.svg");
    background-color: currentColor;
    opacity: 1.0;
}

.btn-icon-save {
    width: 14px;
    height: 14px;
    -webkit-mask-image: url("../Images/Save.png");
    mask-image: url("../Images/Save.png");
    background-color: currentColor;
    opacity: 1.0;
}

.btn-icon-print {
    width: 14px;
    height: 14px;
    -webkit-mask-image: url("../Images/Icon_in.svg");
    mask-image: url("../Images/Icon_in.svg");
    background-color: currentColor;
    opacity: 1.0;
}
.ianimal {
    animation-name: example;
    animation-duration: 4s;
    animation-iteration-count: infinite;
}

@keyframes example {
    from {
        background-color: lightskyblue;
    }

    to {
        background-color: gold;
    }
}
.flash-text {
    font-size: 24px;
    font-weight: bold;
    color: orangered;
    animation: flash 1s infinite;
}

@keyframes flash {
    0%, 100% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }
}
@keyframes blink {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.blink-text {
    animation: blink 3s infinite;
    color: #90A4AE;
    font-weight: 300;
}
/* Remove black focus outline / ring for this component's container and grid */
.container-fluid:focus,
.FrmBrowseGrid:focus,
.FrmBrowseGrid .dx-state-focused,
.FrmBrowseGrid .dx-focused,
.FrmBrowseGrid *:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* Optional: handle focus-visible (keyboard) separately if you still want accessibility hint removed */
.container-fluid:focus-visible,
.FrmBrowseGrid:focus-visible,
.FrmBrowseGrid .dx-state-focused:focus-visible,
.FrmBrowseGrid .dx-focused:focus-visible,
.FrmBrowseGrid *:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}