/* Tinh chỉnh chung trên nền Bootstrap 5.3.3 (cỡ chữ, viền focus, nút, bảng, modal, form-check…) mà giao diện cũ
   vẫn dựa vào; giữ nguyên số đo trước đây để các màn cũ không đổi giao diện. Nạp NGAY SAU lib/bootstrap. */
:root{--bb-primary-color: #409eff;--bb-primary-color-rgb: 64, 158, 255;--bb-border-focus-color: #86b7fe;--bb-border-hover-color: #86b7fe;--bb-height: 35px;--bb-dropdown-max-height: 274px;--bb-shadow: 0 0 8px 0 rgba(232, 237, 250, 0.6), 0 2px 4px 0 rgba(232, 237, 250, 0.5019607843);--bb-hover-shadow: 0 1px 7px 0 rgba(0, 0, 0, 0.0509803922), 0 2px 8px 0 rgba(0, 0, 0, 0.0705882353), 0 3px 9px 0 rgba(0, 0, 0, 0.0588235294), 0 5px 10px 0 rgba(0, 0, 0, 0.031372549);--bb-font-size: 0.875rem}
body,.form-control,.dropdown-menu,.form-select,.input-group-text{font-size:var(--bb-font-size)}
a,[for]{cursor:pointer}
a,a:hover,a:focus{text-decoration:none}
[disabled],:disabled,.disabled,.disabled>*{cursor:not-allowed !important}
:focus-visible,:focus{outline:none}
.modal-backdrop.show+.modal-backdrop.show{display:none}
.alert{--bb-alert-icon-margin-right: 0.5rem;--bb-alert-bar-width: 4px}
.badge.bg-secondary,.badge.bg-light{--bs-badge-color: #212529}
.btn{--bs-btn-font-size: 0.875rem;--bs-btn-focus-box-shadow: none;--bb-btn-label-margin-left: 4px;--bs-btn-active-border-color: transparent;--bs-btn-hover-border-color: transparent;--bs-btn-border-radius: var(--bs-border-radius);--bs-btn-xs-padding-x: 0.3125rem;--bs-btn-xs-padding-y: 0.0625rem;--bs-btn-xs-font-size: 0.75rem;--bs-btn-xl-padding-x: 1.25rem;--bs-btn-xl-padding-y: 0.8rem;--bs-btn-xl-font-size: 1.25rem;--bs-btn-xxl-padding-x: 1.25rem;--bs-btn-xxl-padding-y: 0.8rem;--bs-btn-xxl-font-size: 1.5rem}
.btn-close:focus{box-shadow:none}
.popover{--bs-popover-min-width: 240px;--bb-popover-buttons-justify-content: flex-end;--bb-popover-buttons-margin: 1rem 0 0 0;--bb-popover-buttons-padding: 0.25rem 1rem;--bb-popover-buttons-button-margin-left: 0.5rem;--bb-popover-body-span-margin-left: 0.25rem;min-width:var(--bs-popover-min-width)}
.input-group>:not(:first-child).dropdown>.btn{border-top-left-radius:0;border-bottom-left-radius:0}
.input-group>:not(:last-child).dropdown>.btn{border-top-right-radius:0;border-bottom-right-radius:0}
.card{--bb-card-shadow: var(--bb-shadow);--bb-card-hover-shadow: var(--bb-hover-shadow);--bb-card-title-margin-left: 0.5rem;--bb-card-header-tag-height: 21px;--bs-card-title-spacer-y: 0}
.card-header{border-bottom-width:0;display:flex;align-items:center}
.card-header .card-title{flex:1}
.card-header+.card-body{border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}
.carousel{--bb-carousel-slide-margin: 0 0.5rem;--bb-carousel-slide-padding: 0;--bb-carousel-slide-width: 36px;--bb-carousel-slide-height: 36px;--bb-carousel-slide-border-radisu: 50%;--bb-carousel-slide-border: solid 1px #e9ecef;--bb-carousel-slide-bg: rgba(31, 45, 61, 0.5);--bb-carousel-slide-color: #fff;overflow:hidden}
.carousel .carousel-indicators{opacity:1;transition:all .2s linear}
.carousel .carousel-inner,.carousel .carousel-item,.carousel .carousel-item img{height:100%}
.carousel .carousel-item img{display:block;width:100%}
.form-check{--bb-checkbox-label-padding-y: 6px;--bb-checkbox-height: 1rem;--bb-checkbox-sm-height: 1.25rem;--bb-checkbox-md-height: 1.5rem;--bb-checkbox-lg-height: 1.75rem;--bb-checkbox-xl-height: 2rem;--bb-checkbox-xxl-height: var(--bb-height);--bb-checkbox-input-focus-border-color: #b5b5c3;--bb-checkbox-item-disabled-opacity: 0.5;--bb-checkbox-item-padding-md: 4px 0 3px 0;--bb-checkbox-item-padding-lg: 2px 0 1px 0;--bb-checkbox-item-padding-xl: 2px 0 1px 0;padding:0;margin:0;min-height:1rem}
.form-check .form-check-input{width:var(--bb-checkbox-height);height:var(--bb-checkbox-height);margin:3px 0 1px 0;cursor:pointer;transition:background-color .15s ease-in-out,background-position .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}
.form-check .form-check-input+.form-check-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;vertical-align:top;margin-inline-start:.5rem;flex:1}
.form-check .form-check-input:active{filter:none}
.form-check .form-check-input:focus{border-color:var(--bb-checkbox-input-focus-border-color);box-shadow:none}
.form-check .form-check-input:checked{background-color:var(--bs-primary);border-color:var(--bs-primary)}
.form-check .form-check-input:disabled{pointer-events:none;filter:none;opacity:var(--bb-checkbox-item-disabled-opacity)}
.form-check .form-check-input[type=checkbox]:indeterminate{background-color:var(--bs-primary);border-color:var(--bs-primary)}
.form-check .form-check-input:disabled~.form-check-label,.form-check .form-check-input[disabled]~.form-check-label{opacity:var(--bb-checkbox-item-disabled-opacity)}
.form-label+.form-check{padding:var(--bb-checkbox-label-padding-y) 0}
@media(prefers-reduced-motion: reduce){.form-check-input{transition:none}
}.accordion{--bs-accordion-btn-focus-box-shadow: none;--bs-accordion-btn-padding-x: 1rem;--bs-accordion-btn-padding-y: .5rem}
.accordion .accordion-header{display:flex;align-items:center;width:100%;overflow:hidden}
.accordion .accordion-header:not(.collapsed){background-color:var(--bs-accordion-active-bg)}
.accordion .accordion-header .accordion-button{--bs-accordion-inner-border-radius: 0;flex:1 1 auto;width:1%;cursor:pointer}
.accordion .accordion-item:first-of-type .accordion-header{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}
.accordion .accordion-item:last-of-type .accordion-header.collapsed{border-bottom-left-radius:var(--bs-accordion-inner-border-radius);border-bottom-right-radius:var(--bs-accordion-inner-border-radius)}
section>h2{margin:2rem 0 1rem 0}
[data-bs-theme=dark] .dropdown-menu{--bs-dropdown-bg: #343a40}
.input-group>[data-bs-toggle]{flex:1;text-overflow:ellipsis;overflow:hidden}
.input-group>.input-group-text{width:var(--bb-input-group-label-width)}
.input-group>.form-label{display:none}
.input-group>.form-check{--bb-form-check-padding: 0.375rem 0.75rem;display:flex;align-items:center;padding:var(--bb-form-check-padding)}
.input-group>.form-range{--bb-form-range-padding: 0.375rem 0.75rem;height:var(--bb-height);padding:var(--bb-form-range-padding)}
.input-group>.form-check,.input-group .form-range{border:1px solid var(--bs-border-color);border-radius:var(--bs-border-radius);flex-grow:1;width:1%;min-width:0}
.input-group>.form-check:hover,.input-group .form-range:hover{border:1px solid var(--bb-border-hover-color)}
.form-floating>.form-control:disabled~label::after{background-color:var(--bs-secondary-bg);opacity:1}
.list-group{--bb-list-group-header-bg: var(--bs-body-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);overflow:auto;height:100%}
.modal-header{padding:.5rem 1rem}
.modal-content{min-height:160px;min-width:210px}
.modal-footer{padding:.5rem 1rem}
.modal-footer>*{margin:0}
.modal-footer button:not(:last-child){margin-inline-end:.5rem}
@media(max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none}
}@media(max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none}
}@media(max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none}
}@media(max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none}
}@media(max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none}
}.pagination{margin:0;flex:1 1 auto;justify-content:flex-end;--bs-pagination-focus-box-shadow: none;--bb-pagination-link-padding: 0.25rem 0.35rem}
.pagination .page-link{padding:var(--bb-pagination-link-padding);cursor:pointer}
[data-bs-theme=dark] .pagination{--bs-pagination-active-border-color: var(--bs-border-color)}
@media(min-width: 375px){.pagination{--bb-pagination-link-padding: 0.25rem 0.5rem}
}@media(min-width: 456px){.pagination{--bb-pagination-link-padding: 0.25rem 0.75rem}
}.form-control{--bb-form-control-padding: 0.375rem 0.75rem }
form .input-group-text:before,form .form-label:before{content:"";position:relative;top:2px;margin-right:2px;display:inline-block;min-width:5px}
.form-control{padding:var(--bb-form-control-padding)}
.form-control:focus{border:var(--bs-border-width) solid var(--bb-border-focus-color);box-shadow:none}
.form-control.is-valid[type=number],.form-control.is-invalid[type=number]{padding-right:.75rem;background-image:none}
:root{--bb-row-label-width: 120px;--bb-row-control-padding: 7px}
.dropdown-item{cursor:pointer}
.form-select:focus{box-shadow:var(--bb-select-focus-shadow);border-color:var(--bb-border-focus-color)}
.form-select:not(:disabled):hover{border-color:var(--bb-border-hover-color)}
.form-select.is-valid:focus,.was-validated .form-select:valid:focus,.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{box-shadow:none}
.dropdown-menu{--bb-select-search-padding: 0.5rem 1rem;--bb-select-search-margin-bottom: 0.5rem;--bb-select-search-padding-right: 30px;--bb-select-search-border-color: var(--bs-border-color);--bb-select-search-icon-color: var(--bb-select-search-border-color);--bb-select-search-icon-right: 26px;--bb-select-search-icon-top: 19px;--bb-select-search-height: 52px}
.row{--bb-form-range-margin-top: 6px}
.form-range:disabled{background-color:unset}
[data-bs-theme=dark] .table,.table-dark{--bb-table-header-hover-bg: #343a40;--bb-table-header-icon-hover-bg: #6c757d;--bb-table-header-icon-hover-color: #495057}
.table-light{--bb-table-header-icon-color: #c0c4cc;--bb-table-header-icon-hover-color: #495057}
.table-sm{--bb-table-td-padding-x: .25rem;--bb-table-td-padding-y: .25rem}
.table{margin-block-end:0}
.table thead th,.table tbody td{border-top:none}
.table thead th{white-space:nowrap;vertical-align:top}
.table td,.table th{min-width:0;text-overflow:ellipsis}
.table-bordered thead tr:last-child>th{border-bottom-width:2px;border-bottom-color:rgba(var(--bs-body-color-rgb), 0.125)}
.toast-container{position:fixed}
.toast-container.top-0{top:1rem !important}
.toast-container.bottom-0{bottom:1rem !important}
.toast-container.start-0{left:1rem !important}
.toast-container.end-0{right:1rem !important}
.toast{--bs-toast-border-radius: var(--bs-border-radius);position:relative;overflow:hidden;cursor:pointer;transition:background-color .3s ease-in-out,opacity .15s linear}
.toast .btn-close{height:4px;width:4px;margin:0}
.dropdown-item>span[data-bs-toggle=tooltip]{display:flex;align-items:center}
.tooltip.is-invalid{--bs-tooltip-bg: var(--bs-danger)}
.input-group>[data-bs-toggle]:not(:last-child)>.form-control{border-top-right-radius:0;border-bottom-right-radius:0}

/* Các lớp trùng tên (.tag, .empty, .footer, .tabs, .step, .filter-item…) mà màn hiện có đang dùng: giữ đúng các thuộc tính
   trước đây vẫn áp lên chúng để giao diện không đổi. */
.btn-xs{--bs-btn-padding-x: var(--bs-btn-xs-padding-x);--bs-btn-padding-y: var(--bs-btn-xs-padding-y);--bs-btn-font-size: var(--bs-btn-xs-font-size)}
.card-header .tag{line-height:var(--bb-card-header-tag-height)}
.empty{--bb-empty-image-margin: 1rem 0 0.5rem 0;--bb-empty-template-margin: 5px 0 0 0;text-align:center}
.filter-item{--bb-filter-item-min-width: 220px;--bb-filter-item-btn-hover-color: #409eff;--bb-filter-item-btn-hover-border-color: #409eff;min-width:var(--bb-filter-item-min-width)}
.filter-item .card-body>*:not(:first-child){margin-block-start:.5rem}
.filter-item .card-footer{display:flex;white-space:nowrap}
.filter-item .card-footer .btn:not(:first-child){margin-left:.5rem}
.filter-item .card-footer .btn{line-height:12px;border:1px solid var(--bs-border-color);transition:border-color .3s linear,color .3s linear}
.filter-item .card-footer .btn:not(.disabled):not(:disabled):hover{border-color:var(--bb-filter-item-btn-hover-border-color);color:var(--bb-filter-item-btn-hover-color)}
.footer{--bb-footer-bg: rgba(var(--bs-body-color-rgb), 0.12);--bb-footer-padding: 0.5rem 1rem;background:var(--bb-footer-bg);color:var(--bs-body-color);padding:var(--bb-footer-padding);display:flex}
.rate{--bb-rate-height: 20px;--bb-rate-width: 20px;--bb-rate-margin-left: 0.5rem;--bb-rate-color: var(--bs-secondary);--bb-rate-active-color: var(--bs-warning);--bb-rate-hover-color: #c6d1de;--bb-rate-font-size: 1rem;--bb-rate-transform: scale(1.15);--bb-rate-transition: 0.3s}
.dropdown-menu .icon{position:absolute;right:var(--bb-select-search-icon-right);top:var(--bb-select-search-icon-top);color:var(--bb-select-search-icon-color)}
.step{--bb-step-border-width: 2px;--bb-step-item-color: var(--bs-secondary);--bb-step-item-header-height: 36px;--bb-step-item-text-height: 24px;--bb-step-item-text-width: 24px;--bb-step-item-line-height: 2px;--bb-step-item-line-bg: var(--bs-secondary);--bb-step-item-line-transition: width 0.3s ease-in-out;--bb-step-item-line-vertical-transition: height 0.3s ease-in-out;--bb-step-item-line-width: 0;--bb-step-item-line-progress-bg: var(--bs-success);--bb-step-vertical-min-height: 460px}
.tabs{--bb-tabs-item-padding: 0 0.5rem;--bb-tabs-item-height: 40px;--bb-tabs-item-active-color: #409eff;--bb-tabs-item-hover-color: #409eff;--bb-tabs-item-disabled-opacity: 0.5;--bb-tabs-border-card-top-item-margin-top: -1px;--bb-tabs-bar-width: 40px;--bb-tabs-bar-height: 40px;--bb-tabs-bar-bg: #409eff;--bb-tabs-body-padding: 1rem;--bb-tabs-header-vertical-min-width: 126px;--bb-tabs-item-close-button-height: 21px;display:flex;flex-flow:column}
.tag{--bb-tag-btn-close-margin-left: 0.5rem;--bb-tag-btn-close-width: 0.25rem;--bb-tag-btn-close-height: 0.25rem;--bb-tag-text-margin-left: 0.25rem;--bb-tag-padding-x: 0;--bb-tag-padding-y: 10px;--bb-tag-line-height: 30px;--bb-tag-font-size: 12px;--bb-tag-align: center;display:inline-flex;padding:var(--bb-tag-padding-x) var(--bb-tag-padding-y);line-height:var(--bb-tag-line-height);font-size:var(--bb-tag-font-size);border-radius:var(--bs-border-radius);align-items:var(--bb-tag-align);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:1px solid var(--bs-alert-border-color);white-space:nowrap}
.tag>.btn-close{margin-left:var(--bb-tag-btn-close-margin-left);width:var(--bb-tag-btn-close-width);height:var(--bb-tag-btn-close-height)}
