/*
Theme Name: Flastsome Child
Theme URI: https://example.com/
Description: Child theme for the Flatsome theme
Author: Your Name
Author URI: https://example.com/
Template: flatsome
Version: 1.0.0
*/
body {
	--tw-shadow: 0 0 #0000;;
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
	--tw-ring-offset-shadow: 0 0 #0000;
	--tw-bg-opacity: 1;
	--tw-ring-shadow: 0 0 #0000;
	--tw-ring-opacity: 1;
	--tw-border-opacity: 1;
    --tw-ring-color: rgb(34 197 94 / var(--tw-ring-opacity, 1));
	--tw-ring-inset: ;
	--tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadows: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
}

.d-flex {
	display: flex;
}
.d-al-center {
	align-items: center;
}
.d-wrap {
	flex-wrap: wrap;
}
.d-center {
	justify-content: center;
}
.d-space {
	justify-content: space-between;
}
.mrb-0 {
	margin-bottom: 0;
}
.pdb-0{
	padding-bottom: 0;
}
.gap-5 {
	gap: 5px;
}
.gap-15 {
	gap: 15px;
}
.gap-10 {
	gap: 10px;
}
.gap-20 {
	gap: 20px;
}
.w-100 {
	width: 100%;
}
.w-24 {
	width: 24% !important;
}
.d-block {
	display: block;
}
.mrb-0 {
	margin-bottom: 0;
}
#wrapper {
	min-height: 100vh;
    width: 100%;
}
#main {
	background-color: #f7fafc;
}
#header,
#masthead,
#footer {
	display: none !important;
}
p {	
	margin-bottom: 0;
}
.row,
.col {
	padding: 0;
}
.main,
.fullscreen{
	min-height: 100vh;
}
.header-page {
	padding: 15px 0;
	box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
	background-color: #FFF;
}
.name-page {
	margin-bottom: 0;
}
.name-page span:first-child{
	margin: 0;
	font-weight: 900;
	text-transform: capitalize;
	font-size: 20px;
	color: #000;
}
.name-page span.line{
	width: 1px;
	background-color: var(--fs-color-primary);
	height: 20px;
	display: block;
}
.name-page span:last-child {
	font-size: 16px;
	color: var(--fs-color-primary);
}
#date-page{
	font-size: 14px;
	color: #000;
	font-weight: 600;
	display: flex;
	justify-content: flex-end;
}
.log-out {
	justify-content: flex-end;
	
}
.log-out img {
	width: 20px;
	height: 20px;
	transform: rotate(180deg);
}
.log-out span {
	line-height: 1;
	font-weight: 700;
	color: rgb(71 85 105);
}
.popup-login {
	min-width: 28rem;
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	background-color: #FFF;
	box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
	padding: 28px;
	border-radius: 7px;
	border: 1px solid #e5e7eb;
}
.title-form {
	font-size: 21px;
	line-height: 28px;
	color: #000;
	font-weight: 700;
	text-align: center;
	text-transform: capitalize;
	margin-bottom: 28px;
}
.ux-field label {
	font-size: 13px;
	line-height: 1.3;
}
input.fiel-all,
select.fiel-all{
	padding: 10.5px 14px;
	height: unset;
	font-size: 14px;
	line-height: 1.5;
	border: 1px solid;
	border-radius: 7px;
	border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
	background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}
input.fiel-all.bg-white,
select.fiel-all.bg-white{
	background-color: #FFF;
}
input.fiel-all:focus,
select.fiel-all:focus{
    box-sizing: border-box;
	outline: 2px solid transparent;
    outline-offset: 2px;
        box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadows), var(--tw-shadow, 0 0 #0000);
}

.ux-toggle-password {
    position: absolute;
    top: 9px;
    right: 10px;
    cursor: pointer;
    margin: 0;
    padding: 0;
    min-height: unset;
    height: unset;
    line-height: unset;
}
.ux-toggle-password img {
	width: 20px;
	height: 20px;
}
.ux-password-inner {
	position: relative;
}
.ux-password-inner input {
	margin-bottom: 0;
}
.ux-field .ux-login-submit {
	margin: 21px 0 0 0;
	width: 100%;
	padding: 10.5px 14px;
	font-size: 14px;
	line-height: 1.5;
	border-radius: 7px;
	min-height: unset;
    height: unset;
	color: #FFF;
    line-height: unset;
	background-color: var(--fs-color-primary);
	transition: all 0.3s ease-in;
}
.ux-field .ux-login-submit:hover {
	background-color: #FFF;
	outline:1px solid var(--fs-color-primary);
	color: var(--fs-color-primary);
	transition: all 0.3s ease-in;
}

/* Css trang quản lý */
.tab-quan-ly {
	padding-top: 60px;
}
.menu-tab-item {
	list-style: none;
	padding: 14px;
	margin: 0;
	box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
	background-color: #FFF;
	border-radius: 7px;
	height: fit-content;
	width: 207px;
}
.menu-tab-item.is-scrolled {
	position: sticky;
    top: 20px;
}
.tab-item {
	margin-top: 7px;
	padding: 8.75px 10.5px;
	border-radius: 7px;
	cursor: pointer;
	margin-bottom: 0;
}
.tab-item:first-child {
	margin-top: 0;
}
.tab-item.active {
	background-color: var(--fs-color-primary);
}
.tab-item:not(.active):hover {
	background-color: rgb(241 245 249);
}
.tab-item.active span {
	color: #FFF;
}
.tab-item.active img {
	filter: brightness(0) saturate(100%) invert(99%) sepia(5%) saturate(2%) hue-rotate(355deg) brightness(114%) contrast(100%);
}
.tab-item img {
	width: 20px;
	height: 20px;
}
.header-tab h3 {
	font-size: 26px;
	line-height: 31px;
	color: #000;
}
.tab-content {
	width: calc(100% - 227px);
}
.setting-all {
	box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
	background-color: #FFF;
	border-radius: 7px;
}
.header-top .left h3 {
	margin-bottom: 0;
}
.form-create-store {
	padding: 21px;
	margin-bottom: 21px;
	margin-top: 21px;
}
.half {
	width: 49%;
}
.field-row {
	justify-content: space-between;
}
.bdr-7 {
	border-radius: 7px;
}
.setting-all button {
	margin: 0 auto;
	display: block;
	width: max-content;
	height: 44px;
	text-transform: unset;
	transition: all 0.3s ease-in;
}
.abm-add-store,
.abm-stock-setting{
	margin-bottom: 0;
}
.setting-all button {
	border: 1px solid var(--fs-color-primary);
	padding: 10.5px 14px;
}
.setting-all button:hover {
	color: var(--fs-color-primary);
	background-color: #FFF;
	box-shadow: unset;
	transition: all 0.3s ease-in;
}
.section-quan-ly {
	padding-bottom: 60px;
}
.abm-store-list {
	padding: 21px;
}
.abm-store-list .abm-store-search-form input{
	margin-bottom: 0;
	border-radius: 7px 0 0 7px;
	padding: 10.5px 14px;
}
.abm-store-list .abm-store-search-form button {
	margin: 0;
	border-radius: 0 7px 7px 0;
	padding: 10.5px 14px;
	line-height: 1;
}
thead th{
	border-color: #e5e7eb;
	background-color: #e5e7eb;
	color: rgb(71 85 105);
}
th {
	font-size: 12px;
    text-align: left;
	padding: 10.5px;
}
td:first-child, th:first-child {
	padding-left: 10.5px;
}
tr td:nth-child(2) {
	font-weight: 700;
}
td {
	font-size: 15px;
	color: #000;
	text-align: left;
	padding: 10.5px;
}
.btn-edit-store,
.btn-delete-store,
.btn-edit-category ,
.btn-delete-category,
.btn-edit-product ,
.btn-delete-product,
.abm-pos-rev-edit{
	background-color: transparent;
	margin: 0 !important;
	padding: 0 !important;
	border: unset !important;
}
.btn-edit-store img,
.btn-delete-store img,
.btn-edit-category img,
.btn-delete-category img,
.btn-edit-product img,
.btn-delete-product img,
.abm-pos-rev-edit img{
	width: 20px;
	height: 20px;
}

.btn-edit-store:hover,
.btn-delete-store:hover,
.btn-edit-category:hover,
.btn-delete-category:hover,
.btn-edit-product:hover,
.btn-delete-product:hover,
.abm-pos-rev-edit:hover{
	border: unset !important;
	box-shadow: unset !important;
	outline: unset !important;
}
.btn-edit-store:hover img,
.btn-edit-category:hover img,
.btn-edit-product:hover img,
.abm-pos-rev-edit:hover img{
	filter: brightness(0) saturate(100%) invert(43%) sepia(89%) saturate(2876%) hue-rotate(88deg) brightness(92%) contrast(103%);
}
.btn-delete-store:hover img,
.btn-delete-category:hover img,
.btn-delete-product:hover img{
	filter: brightness(0) saturate(100%) invert(31%) sepia(39%) saturate(7489%) hue-rotate(348deg) brightness(101%) contrast(90%);
}
/* Overlay */
#abm-edit-popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.55);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 999999;
}

/* Khung popup */
.abm-popup-content {
    width: 480px;
    background: #fff;
    border-radius: 10px;
    padding: 25px;
    position: relative;
    animation: abmFade .25s ease;
}

@keyframes abmFade {
    from { transform: scale(.9); opacity:0; }
    to   { transform: scale(1); opacity:1; }
}

/* Nút đóng */
.abm-popup-close {
    position: absolute;
    top: 17px;
    right: 12px;
    background: transparent;
    border: none;
    font-size: 20px;
    cursor: pointer;
    margin: 0;
    padding: 0;
    line-height: 1;
    min-height: unset;
}

.btn-all {
	margin: 0 auto;
	display: block;
	width: max-content;
	transition: all 0.3s ease-in;
}
.btn-all:hover {
	outline: 1px solid var(--fs-color-primary);
	color: var(--fs-color-primary);
	background-color: #FFF;
	box-shadow: unset;
	transition: all 0.3s ease-in;
}

/* Trang sản phẩm */
.abm-product-dashboard {
	padding: 21px;
}

/* Cards */
.abm-stat-cards {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
}
.abm-stat-cards .abm-card {
    flex: 1;
    background: #fff;
    border-radius: 12px;
    padding: 16px 20px;
    display: flex;
    gap: 12px;
	justify-content: flex-start;
	flex-direction: row;
    align-items: center;
    box-shadow: 0 1px 3px rgba(15,23,42,.1);
}
.abm-stat-cards .abm-card-icon {
    width: 60px;
    height: 60px;
    border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
    background: #e5e7eb;
}
.abm-card-icon img {
	width: 40px;
	height: 40px;
}
select {
	box-shadow: unset !important;
}
.abm-stat-cards  .abm-card-icon.success { 
	background: #dcfce7;
}
.abm-stat-cards .abm-card-icon.info    {
	background: #dbeafe;
}
.abm-stat-cards .abm-card-label {
	font-size: 13px; 
	color:#6b7280; 
	margin:0 0 4px; 
}
.abm-stat-cards .abm-card-title { 
	font-size: 20px;
    margin: 0;
    font-weight: 900;
    color: #000;
}
.abm-stat-cards .abm-card-sub { 
	color:#16a34a; 
	margin:2px 0 0;
	font-weight: 700;
}
/* Header + actions */
.abm-product-header {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin:20px 0 10px;
}

/* Table */
.abm-table-wrapper {
    background:#fff;
    border-radius:12px;
    padding:10px 0;
    box-shadow:0 1px 3px rgba(15,23,42,.1);
}
.abm-product-table {
    width:100%;
    border-collapse:collapse;
}
.abm-product-table th,
.abm-product-table td {
    padding:10px 14px;
    border-bottom:1px solid #e5e7eb;
    text-align:left;
}
.abm-product-table th {
    font-size:12px;
    text-transform:uppercase;
    color:#6b7280;
}
.abm-thumb img {
	width: 42px;
    height: 42px;
    border-radius: 4px;
    object-fit: cover;
}
.abm-thumb-placeholder {
	width: 42px;
    height: 42px;
    border-radius: 4px;
    background:#e5e7eb;
}
.abm-col-revenue { color:#16a34a; font-weight:600; }

/* Pagination */
.abm-pagination {
    margin-top:10px;
}
.abm-page-btn {
    margin: 0 2px !important;
    padding: 4px 16px !important;
    border-radius: 4px !important;
    border: 1px solid #d1d5db !important;
    background: #fff !important;
    cursor: pointer !important;
}
.abm-page-btn.is-active {
    background: #16a34a !important;
    color: #fff !important;
    border-color: #16a34a !important;
}

/* Category panel */
.abm-category-panel {
    margin-top:25px;
    background:#fff;
    border-radius:12px;
    padding:15px;
    box-shadow:0 1px 3px rgba(15,23,42,.1);
}
.abm-category-item {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:6px 0;
    border-bottom:1px solid #f3f4f6;
}
.abm-category-actions {
    display:flex;
    gap:6px;
}

/* Modal */
.abm-modal {
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.4);
    display:none;
    align-items:center;
    justify-content:center;
    z-index:999999;
}
.abm-modal-content {
    background:#fff;
    border-radius:12px;
    padding:20px 24px;
    width:480px;
    max-width:95%;
    position:relative;
}
.abm-modal-close {
    position:absolute;
    right:12px;
    top:10px;
    border:none;
    background:transparent;
    font-size:18px;
    cursor:pointer;
}
.abm-form-row {
    margin-bottom:10px;
    display:flex;
    flex-direction:column;
    gap:4px;
}
.abm-form-row input,
.abm-form-row select {
    padding:8px 10px;
    border-radius:6px;
    border:1px solid #d1d5db;
}
.abm-modal-actions {
    margin-top:14px;
    display:flex;
    justify-content:flex-end;
    gap:8px;
}

.abm-modal-actions button {
	margin: 0;
}

.abm-date-filter-group select,
.abm-date-filter-group input,
.abm-date-filter-group button {
	width: 32%;
	margin: 0;
}
.abm-date-filter-group {
	margin-bottom: 15px;
}
.abm-date-filter-group label {
	margin-bottom: 0;
}
.abm-product-header h3 {
	width: max-content;
	margin-bottom: 0;
}
.abm-product-actions {
	width: 80%;
}
.abm-category-name {
	font-weight: 700;
	color: #000;
}
.abm-actions {
	justify-content: center;
}
.abm-product-table thead tr th:nth-child(6),
.abm-product-table thead tr th:nth-child(7) {
	text-align: right;
}
#abm-product-list-body tr td:nth-child(6),
#abm-product-list-body tr td:nth-child(7) {
	text-align: right;
}
.abm-actions {
	height: 63px;
}
.abm-modal-cancel {
	background-color: #f02828;
	color: #FFF;
}
/* ===== Image upload + preview ===== */
.abm-image-upload {
    display: flex;
    align-items: center;
    gap: 12px;
}

.abm-image-preview {
	width: 150px;
    height: 150px;
    border-radius: 10px;
    border: 1px dashed #d1d5db;
    background: #f9fafb;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.abm-image-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.abm-image-placeholder {
    font-size: 24px;
    color: #9ca3af;
}

.abm-image-actions {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

#abm_image_btn {
    padding: 6px 12px;
    font-size: 13px;
	border-radius: 7px;
	margin: 0;
}

.abm-image-filename {
    font-size: 12px;
    color: #6b7280;
}
.abm-image-filename {
	display: none;
}

/* Trang pos */
.abm-pos-search-block {
    position: sticky;
    top: 0;
    z-index: 20;
}

.abm-pos-wrap {
    max-width: 100%;
    margin: 0 auto;
	padding: 0;
    font-size: 14px;
}

.abm-pos-store h2 {
    margin: 0;
}

.abm-pos-stock span {
    margin-right: 12px;
    font-size: 13px;
    color: #4b5563;
}

.abm-pos-search-box {
	display: flex;
    border-bottom: 1px solid #ddd;
    padding-bottom: 10px;
}


.abm-pos-search-cat {
    padding: 8px 10px;
    border-radius: 6px;
    border: 1px solid #e5e7eb;
}

/* MAIN LAYOUT */
.abm-pos-main {
    display: grid;
	grid-template-columns: 1fr 360px;
    gap: 16px;
}

.abm-pos-products {
    overflow-y: auto; 
    padding-right: 4px;
}

/* CATEGORY + CARD */
.abm-pos-category-title {
    margin: 16px 0 8px;
    font-size: 18px;
    font-weight: 600;
}

.abm-pos-product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 12px;
	margin-bottom: 21px;
}

.abm-pos-card {
    border-radius: 10px;
    border: 1px solid #e5e7eb;
    background: #fff;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.abm-pos-card.is-hidden {
    display: none;
}

.abm-pos-card-thumb img {
    width: 100%;
    height: 100px;
    object-fit: cover;
}
.abm-pos-group[data-group-cat="10"] .abm-pos-card-thumb img  {
	object-fit: contain;
}
.abm-pos-card-body {
    padding: 8px 10px 10px;
}

.abm-pos-card-title {
    font-weight: 600;
    margin-bottom: 8px;
}

.abm-pos-card-actions {
    display: flex;
    gap: 6px;
    margin-bottom: 6px;
}

.abm-pos-btn-size {
    width: 100%;
    border: none;
    border-radius: 7px;
    padding: 4px 6px;
    font-size: 11px;
    background: #16a34a;
    color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
	margin-right: 0;
	margin-bottom: 0;
	outline: 1px solid #16a34a;
}
@media (min-width: 1600px) {
	.abm-pos-btn-size:hover  {
		background: #fff;
		color: #16a34a;
		transform: translateY(-1px) scale(1.03);
		box-shadow: 0 4px 10px rgba(0,0,0,.16);
		outline: 1px solid #16a34a;
	}
}
input[type=checkbox], input[type=radio] {
	margin: 0;
}
.abm-pos-no-cup {
    margin: 8px 0 0;
    font-size: 14px;
}
.abm-pos-no-cup label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
	font-size: 14px;
	margin: 0;
}

.abm-pos-mix-btn {
    width: 100%;
    border-radius: 999px;
    border: 1px dashed #9ca3af;
    background: #f9fafb;
    font-size: 12px;
    padding: 4px 0;
	margin: 0;
}
.abm-pos-btn-large {
	margin-bottom: 0 !important;
}

/* ORDER PANEL */
.abm-pos-order {
    border-radius: 12px;
    border: 1px solid #e5e7eb;
    background: #fff;
    padding: 12px 14px;
    max-height: auto;
    display: flex;
    flex-direction: column;
}

.abm-pos-order-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 12px;
}

.abm-pos-order-title {
    font-size: 16px;
    font-weight: 600;
}

.abm-pos-order-store {
    font-size: 13px;
    color: #4b5563;
}

.abm-pos-order-time {
    font-size: 12px;
    color: #6b7280;
}

.abm-pos-order-code {
    font-size: 13px;
}

.abm-pos-order-list {
    flex: 1;
    overflow-y: auto;
    border-top: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
    padding: 8px 0;
}

.abm-pos-order-total {
    font-size: 13px;
    font-weight: 600;
}

.abm-pos-order-empty {
    font-size: 13px;
    color: #9ca3af;
}

/* SUMMARY + PAYMENT */
.abm-pos-order-summary {
    padding-top: 8px;
}

.abm-pos-order-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 4px;
}

.abm-pos-order-row.small span {
    font-size: 12px;
}

.abm-pos-payment-method {
    margin-top: 8px;
    font-size: 13px;
}
.abm-product-table thead tr th:first-child {
	width: 8%;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* 2. Firefox */
input[type="number"] {
    -moz-appearance: textfield;
}

/* (Tuỳ chọn) 3. Tất cả trình duyệt hiện đại */
input[type="number"] {
    appearance: textfield;
}
.abm-pos-payment-buttons {
    margin-top: 4px;
    display: flex;
    gap: 6px;
	flex-wrap: wrap;
}
.abm-order-input {
	margin: 0;
}
.abm-pos-pay-btn {
    width: 49%;
    padding: 6px 8px;
    border: 1px solid #d1d5db;
    background: #f9fafb;
    cursor: pointer;
    font-size: 13px;
	border-radius: 7px;
	margin: 0;
}

.abm-pos-pay-btn.is-active {
    background: #16a34a;
    color: #fff;
    border-color: #16a34a;
}

.abm-pos-note textarea {
	width: 100%;
    margin-top: 8px;
    border-radius: 8px;
    border: 1px solid #e5e7eb;
    padding: 6px 8px;
    font-size: 13px;
    min-height: 45px;
}

.abm-pos-submit {
    margin-top: 10px 0 0 0;
    width: 100%;
    padding: 10px;
    border-radius: 7px;
    border: none;
    background: #16a34a;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
}

/* MIX MODAL */
.abm-pos-mix-modal {
    position: fixed;
    inset: 0;
    z-index: 999;
}

.abm-pos-mix-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15,23,42,0.35);
}

.abm-pos-mix-dialog {
    position: absolute;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    width: 720px;
    max-width: calc(100% - 40px);
    max-height: 80vh;
    background: #fff;
    border-radius: 14px;
    display: flex;
    flex-direction: column;
}

.abm-pos-mix-header {
    padding: 10px 14px;
    border-bottom: 1px solid #e5e7eb;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.abm-pos-mix-header h3 {
    margin: 0;
    font-size: 15px;
}

.abm-pos-mix-close {
    border: none;
    background: none;
    font-size: 20px;
    cursor: pointer;
}

.abm-pos-mix-search {
    padding: 8px 14px;
    border-bottom: 1px solid #e5e7eb;
}

#abm_pos_mix_search {
    width: 100%;
    padding: 6px 8px;
    border-radius: 8px;
    border: 1px solid #e5e7eb;
}

.abm-pos-mix-body {
    padding: 10px 14px;
    overflow-y: auto;
    flex: 1;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 8px;
}

.abm-pos-mix-item {
    border-radius: 10px;
    border: 1px solid #e5e7eb;
    padding: 6px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    cursor: pointer;
}

.abm-pos-mix-item input {
    display: none;
}

.abm-pos-mix-thumb img {
    width: 100%;
    height: 80px;
    object-fit: cover;
    border-radius: 8px;
}

.abm-pos-mix-name {
    font-size: 12px;
}

.abm-pos-mix-item:has(input:checked) {
    outline: 2px solid #16a34a;
}

.abm-pos-mix-footer {
    padding: 8px 14px 12px;
    border-top: 1px solid #e5e7eb;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.button.primary,
.button.secondary {
    border-radius: 7px;
    padding: 6px 12px;
    font-size: 13px;
    cursor: pointer;
    border: 1px solid transparent;
}

.button.primary {
    background: #16a34a;
    color: #fff;
    border-color: #16a34a;
}

.button.secondary {
    background: #f9fafb;
    color: #111827;
    border-color: #d1d5db;
}

/* TOP BAR */
.abm-pos-top {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 24px;
	margin-bottom: 24px;
}

/* Cột trái */
.abm-pos-top-left {
	flex: 1;
}

.abm-pos-store-title {
	font-size: 24px;
	font-weight: 600;
	margin: 0 0 4px;
}

.abm-pos-search-block {
	background: #ffffff;
	border-radius: 16px;
	box-shadow: 0 10px 30px rgba(15,23,42,0.05);
	padding: 12px 16px 14px;
}

/* Ô tìm kiếm */
.abm-pos-search-box input{
	margin: 0;
}

.abm-pos-search-icon {
	font-size: 14px;
	margin-right: 8px;
	color: #9ca3af;
}

.abm-pos-search-input {
	border: none;
	outline: none;
	background: transparent;
	width: 100%;
	font-size: 14px;
	color: #111827;
}

/* Nút danh mục dạng pill */
.abm-pos-cat-filter {
	margin-top: 10px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.abm-pos-cat-btn {
	border-radius: 999px;
	border: none;
	background: #e5e7eb;
	color: #374151;
	font-size: 13px;
	padding: 6px 16px;
	cursor: pointer;
	margin: 0;
	line-height: 1;
	transition: all .15s ease;
}

.abm-pos-cat-btn.is-active {
	background: #16a34a;
	color: #ffffff;
}

/* Cột phải: card tồn kho */
.abm-pos-top-right {
	min-width: 360px;
}

.abm-pos-stock-card {
	background: #ffffff;
	border-radius: 16px;
	box-shadow: 0 10px 30px rgba(15,23,42,0.08);
	padding: 14px 18px;
}

.abm-pos-stock-head {
	margin-bottom: 6px;
}

.abm-pos-stock-title {
	font-weight: 600;
	font-size: 16px;
}

.abm-pos-stock-body {
	display: flex;
	justify-content: space-between;
	gap: 24px;
}

.abm-pos-stock-col {
	text-align: left;
}

.abm-pos-stock-label {
	font-size: 13px;
	color: #6b7280;
}

.abm-pos-stock-num {
	font-size: 20px;
	font-weight: 700;
	color: #16a34a;
	margin-top: 2px;
}

.abm-pos-stock-sub {
	font-size: 12px;
	color: #ea580c;
	margin-top: 2px;
}

/* Ẩn card sản phẩm khi filter */
.abm-pos-card.is-hidden {
	display: none;
}

.abm-pos-group.is-hidden {
    display: none;
}

.abm-pos-order-item {
    padding: 10px 0;
    border-bottom: 1px solid #e5e7eb;
}

/* Hàng trên: tên + giá */
.abm-pos-order-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4px;
}

.abm-pos-order-name {
    font-size: 14px;
    font-weight: 600;
    color: #111827;
}

.abm-pos-order-price {
    font-size: 14px;
    font-weight: 600;
    color: #16a34a;
}

/* Hàng dưới */
.abm-pos-order-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
	flex-wrap: wrap;
}

.abm-pos-order-meta {
    font-size: 12px;
    color: #6b7280;
	width:100%;
}

.abm-pos-order-mix {
    margin-top: 2px;
    color: #f97316;
}

/* Cụm nút bên phải */
.abm-pos-order-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Nút tròn + số lượng */
.abm-pos-order-qty {
    display: flex;
    align-items: center;
    gap: 6px;
}

.abm-pos-qty-minus,
.abm-pos-qty-plus,
.abm-pos-order-remove {
    border-radius: 7px;
    width: 28px;
    height: 28px;
    border: 1px solid #d1d5db;
    background: #ffffff;
    font-size: 14px;
    line-height: 1;
    display: flex;
	margin: 0;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.abm-pos-qty-minus:hover,
.abm-pos-qty-plus:hover,
.abm-pos-order-remove:hover {
    background: #f3f4f6;
}

.abm-pos-qty-num {
    min-width: 18px;
    text-align: center;
    font-size: 13px;
}

/* Nút MIX dạng pill */
.abm-pos-order-mix-btn {
    border-radius: 999px;
    border: 1px dashed #d1d5db;
    background: #ffffff;
    padding: 4px 10px;
    font-size: 12px;
    cursor: pointer;
	margin: 0;
    border-radius: 7px;
}

.abm-pos-order-mix-btn:hover {
    background: #f3f4f6;
}

/* Nút xoá nhấn mạnh hơn chút */
.abm-pos-order-remove {
    border-color: #fecaca;
    color: #b91c1c;
}

.abm-pos-order-remove:hover {
    background: #fee2e2;
}
.abm-tabs-nav {
    display: flex;
    gap: 8px;
	justify-content: space-between;
    margin-bottom: 16px;
	margin-top: 16px;
}

.abm-tab-btn {
    border-radius: 7px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    padding: 8px 18px;
    font-size: 13px;
    cursor: pointer;
	margin: 0;
    color: #475569;
}

.abm-tab-btn.is-active,
.abm-tab-btn:hover {
    background: #16a34a;
    border-color: #16a34a;
    color: #fff;
}
.abm-pos-revenue-wrap {
	max-width: 1200px;
	margin: 0 auto;
	padding: 24px 0 40px;
	font-family: inherit;
}

.abm-pos-revenue-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 24px;
}

.abm-pos-revenue-title {
	font-size: 24px;
	font-weight: 600;
	margin: 0;
}

.abm-pos-revenue-range {
	display: flex;
	gap: 8px;
}

.abm-pos-range-btn,
#abm_rev_month,
#abm_rev_year,
.abm-sys-select{
	border: 1px solid #e2e8f0;
	background: #f8fafc;
	border-radius: 7px;
	padding: 10.5px 14px;
	font-size: 13px;
	cursor: pointer;
	color: #475569;
	margin: 0 !important;
}
#abm_rev_month,
#abm_rev_year,
.abm-sys-select{
	width: max-content;
    height: fit-content;
    min-height: unset;
    font-size: 19px;
	margin: 0 !important;
}
#abm-stat-apply {
	line-height: 1.3;
}
.abm-pos-range-btn.is-active {
	background: #16a34a;
	color: #fff;
	border-color: #16a34a;
}

.abm-pos-revenue-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 24px;
}

.abm-pos-revenue-card {
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
	padding: 18px 20px;
}

.abm-pos-revenue-card-label {
	font-size: 14px;
	color: #475569;
	margin-bottom: 8px;
}

.abm-pos-revenue-card-num {
	font-size: 32px;
	font-weight: 700;
	color: #16a34a;
}

.abm-pos-revenue-filter {
	margin: 16px 0;
}

.abm-pos-revenue-table {
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
	padding: 0;
	overflow: hidden;
}

.abm-pos-revenue-tb {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
}

.abm-pos-revenue-tb thead {
	background: #f8fafc;
}

.abm-pos-revenue-tb th,
.abm-pos-revenue-tb td {
	padding: 10px 12px;
	text-align: left;
	border-bottom: 1px solid #e2e8f0;
}

.abm-pos-revenue-tb th {
	font-weight: 600;
	color: #64748b;
	font-size: 12px;
	text-transform: uppercase;
}

.abm-pos-revenue-tb tbody tr:hover {
	background: #f9fafb;
}

.abm-pos-revenue-loading,
.abm-pos-revenue-empty {
	text-align: center;
	padding: 24px 12px;
	color: #64748b;
}
.abm-status-badge {
	display:inline-block;
	padding:3px 10px;
	border-radius:999px;
	font-size:12px;
}

.abm-status-badge.is-processing {
	background:#fff7e6;
	color:#b7791f;
}

.abm-status-badge.is-completed {
	background:#e6fffa;
	color:#0f766e;
}

.abm-status-badge.is-refunded {
	background:#fee2e2;
	color:#b91c1c;
}

.abm-order-modal {
	position:fixed;
	inset:0;
	z-index:9999;
	display:none;
}

.abm-order-modal-backdrop {
	position:absolute;
	inset:0;
	background:rgba(15,23,42,0.35);
}

.abm-order-modal-inner {
	position:relative;
	max-width:520px;
	margin:60px auto;
	background:#fff;
	border-radius:16px;
	box-shadow:0 20px 50px rgba(15,23,42,0.15);
	padding:24px 28px;
}

.abm-order-modal-head h3 {
	margin:0 0 16px;
	font-size:20px;
	font-weight:600;
}

#abm_order_modal_code {
	font-weight:500;
	color:#059669;
}

.abm-order-field {
	margin-bottom:16px;
}

.abm-order-field label {
	display:block;
	font-size:14px;
	font-weight:500;
	margin-bottom:6px;
}

#abm_order_status_select,
#abm_order_note_input {
	width:100%;
	border-radius:8px;
	border:1px solid #e5e7eb;
	padding:8px 10px;
	font-size:14px;
}

.abm-order-modal-foot {
	margin-top:8px;
	text-align:right;
	display:flex;
	justify-content:flex-end;
	gap:8px;
}

.abm-order-btn {
	border-radius:999px;
	border:none;
	padding:8px 18px;
	font-size:14px;
	cursor:pointer;
}

.abm-order-cancel {
	background:#f3f4f6;
	color:#374151;
}

.abm-order-save {
	background:#16a34a;
	color:#fff;
}
.abm-pagination-wrap,
.abm-system-pagination,
.abm-kho-pagination{
    margin-top: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
}

.abm-page-btn,
.abm-sys-page-btn,
.abm-kho-page-btn{
    border: 1px solid #ddd;
    background: #fff;
    padding: 12px;
    border-radius: 7px;
    cursor: pointer;
    transition: 0.2s;
    line-height: 1;
    margin: 0;
    min-height: 0;
}

.abm-pagination-wrap .abm-page-btn:nth-child(1) img,
.abm-system-pagination .abm-sys-page-btn:nth-child(1) img,
.abm-kho-pagination .abm-kho-page-btn:nth-child(1) img {
	transform: rotate(180deg);
}
.abm-page-btn img,
.abm-sys-page-btn img,
.abm-kho-page-btn img{
	width: 16px;
	height: 16px;
}
.abm-page-btn:hover,
.abm-sys-page-btn:hover,
.abm-kho-page-btn:hover{
    background: #f2f2f2;
}
.abm-page-btn:hover img,
.abm-sys-page-btn:hover img,
.abm-kho-page-btn:hover img{
	filter: brightness(0) saturate(100%) invert(43%) sepia(89%) saturate(2876%) hue-rotate(88deg) brightness(92%) contrast(103%);
}
.abm-pagination-wrap .disabled {
    opacity: 0.4;
    pointer-events: none;
}

.abm-system-header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:24px;
}
.abm-system-filters,
.abm-date-filter-group {
    display:flex;
    align-items:center;
    gap:12px;
}
.abm-system-range {
    display:flex;
    gap:8px;
}
.abm-stat-filters .abm-date-filter-group {
	justify-content: flex-end;
}
.abm-stat-filters .abm-date-filter-group > * {
	width: max-content;
}
.abm-sys-range-btn,
.abm-stat-range,
#abm-stat-month,
#abm-stat-year{
    min-width: max-content;
    padding: 10.5px 14px;
    border-radius: 7px;
    border:1px solid #e5e7eb !important;
    background: #fff;
	line-height: 1 !important;
	font-weight: 400;
    cursor:pointer;
	margin: 0;
	color: var(--fs-color-primary);
	line-height: unset;
}
.abm-sys-range-btn.is-active,
.abm-stat-range.is-active{
    background:#16a34a;
    border-color:#16a34a;
    color:#fff;
}
.abm-system-date-selects {
    display:flex;
    gap:8px;
}
.abm-sys-select{
    padding: 10.5px 14px;
    border-radius:8px;
    border:1px solid #e5e7eb;
    font-size:13px;
    background:#fff;
}

.abm-system-wrap {
    padding: 24px 32px;
}

.abm-system-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
}

.abm-system-title {
    font-size: 24px;
    font-weight: 700;
    margin: 0;
}

.abm-system-range {
    display: flex;
    gap: 8px;
}

.abm-system-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}

.abm-system-card {
    background: #fff;
    border-radius: 12px;
    padding: 16px 20px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

.abm-system-card-label {
    font-size: 13px;
    color: #6b7280;
    margin-bottom: 6px;
}

.abm-system-card-value {
    font-size: 22px;
    font-weight: 700;
}

.abm-system-chart-block,
.abm-system-table-block {
    background: #fff;
    border-radius: 12px;
    padding: 16px 20px 20px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
    margin-bottom: 20px;
}

.abm-system-block-title {
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 12px;
}

.abm-system-table-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.abm-sys-search-input {
    min-width: 260px;
    padding: 8px 12px;
    border-radius: 8px;
    border: 1px solid #e5e7eb;
    font-size: 13px;
}

.abm-system-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.abm-system-table th,
.abm-system-table td {
    padding: 10px 12px;
    border-bottom: 1px solid #eef2f7;
    text-align: left;
}

.abm-system-table th {
    background: #f9fafb;
    font-weight: 600;
}

.abm-system-loading,
.abm-system-empty {
    text-align: center;
    padding: 24px 0;
}
.abm-store-list-wrap {
    padding: 20px 0;
}

.abm-store-list-wrap > p {
	margin-bottom:21px;
}

.abm-store-grid {
    display: grid;
    gap: 25px;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
}

.abm-store-card {
    display: block;
    padding: 20px;
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e6e6e6;
    text-decoration: none !important;
    transition: .2s;
}

.abm-store-card:hover {
    transform: translateY(-3px);
    border-color: #00a64e;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
}

.abm-store-title {
    margin: 0 0 5px;
    font-size: 20px;
    font-weight: bold;
}

.abm-store-sub { color: #777; margin-bottom: 15px; }

.abm-store-line {
    width: 100%;
    height: 1px;
    background: #eee;
    margin: 12px 0;
}

.abm-store-info {
    margin-bottom: 10px;
    color: #444;
}

.abm-store-money { color: #009a29; font-size: 20px; font-weight: bold; }
.abm-store-cup   { font-size: 18px; font-weight: bold; }

/* ===== WRAP & HEADER ===== */
.abm-store-detail-wrap {
    padding: 32px 40px 60px;
    background: #f5f7fb;
    min-height: 100vh;
}

.abm-back-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: #4b5563;
    text-decoration: none;
    margin-bottom: 10px;
	border: 1px solid;
	border-radius: 7px;
	padding: 8px 16px;
	background-color: #FFF;
	border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
}

.rangge-btn {
	margin: 0;
	line-height: unset;
}
.abm-back-btn:hover {
    color: #059669;
	background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}

.abm-page-title {
    font-size: 26px;
    font-weight: 700;
    margin: 0 0 20px;
    color: #111827;
	width: max-content;
}

/* ===== FILTER BAR (Ngày / Tuần / Tháng / Năm) ===== */
.abm-filter-bar {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-bottom: 20px;
}

.abm-range-btn {
    padding: 8px 18px;
    border-radius: 7px;
    border: 1px solid #e5e7eb;
    background: #fff;
    font-size: 14px;
    font-weight: 600;
    color: #374151;
	line-height: 1;
    cursor: pointer;
    transition: all 0.15s ease;
}

.abm-range-btn:hover {
    background: #ecfdf5;
    border-color: #10b98133;
}

.abm-range-btn.is-active {
    background: #16a34a;
    border-color: #16a34a;
    color: #fff;
}

.abm-select {
    padding: 9px 12px;
    border-radius: 10px;
    border: 1px solid #e5e7eb;
    background: #ffffff;
    font-size: 14px;
    color: #111827;
	margin-bottom: 0;
    text-align: center;
	width: max-content;
    line-height: 1.3;
}

/* ===== CARDS (Tổng doanh thu / Ly / Tồn kho) ===== */
.abm-store-cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 28px;
}

.abm-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 18px 20px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.abm-card-label {
    font-size: 14px;
    color: #6b7280;
    margin-bottom: 4px;
}

.abm-card-value {
    font-size: 26px;
    font-weight: 700;
    color: #111827;
}

/* ===== TABLE ĐƠN HÀNG ===== */
.abm-order-table {
    background: #ffffff;
    border-radius: 16px;
    padding: 20px 24px 26px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}

.abm-order-table table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.abm-order-table thead th {
    text-align: left;
    padding: 10px 12px;
    color: #6b7280;
    font-weight: 600;
    border-bottom: 1px solid #e5e7eb;
    white-space: nowrap;
}

.abm-order-table tbody td {
    padding: 10px 12px;
    border-bottom: 1px solid #f3f4f6;
    color: #111827;
}

.abm-order-table tbody tr:nth-child(odd) {
    background: #f9fafb;
}

.abm-order-table tbody tr:last-child td {
    border-bottom: none;
}

/* STT & Mã đơn nổi hơn chút */
.abm-order-table tbody td:first-child {
    width: 60px;
}
.abm-order-table tbody td:nth-child(2) {
    font-weight: 600;
}

/* Badge trạng thái – nếu bạn đang output span */
.abm-status-badge {
    display: inline-flex;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
}
.abm-status-badge--processing {
    background: #fef3c7;
    color: #92400e;
}
.abm-status-badge--completed {
    background: #dcfce7;
    color: #166534;
}
.abm-status-badge--refunded {
    background: #fee2e2;
    color: #b91c1c;
}
.abm-kho-wrap {
    max-width: 100%;
    margin: 40px auto;
}
.abm-kho-table tr td:nth-child(1) {
	font-weight: 700;
}
.abm-kho-table tr td:nth-child(2) {
	font-weight: 400;
}
.abm-kho-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
}

.abm-kho-table th {
    background: #f5f7fb;
    padding: 14px;
    text-align: left;
    font-weight: 600;
	width: 20%;
}

.abm-kho-table td {
    padding: 12px;
    border-top: 1px solid #eee;
}

.abm-kho-btn {
    background: var(--fs-color-primary);
    border: none;
    padding: 8px 14px;
    cursor: pointer;
    border-radius: 6px;
	margin: 0;
	line-height: 1;
	font-size: 13px;
	text-transform: capitalize;
	color: #FFF;
	font-weight: 400;
	transition: all 0.3s ease-in;
}

.abm-kho-btn:hover {
	background-color: #FFF;
	outline: 1px solid var(--fs-color-primary);
	color: var(--fs-colo-primary);
	transition: all 0.3s ease-in;
}

.abm-kho-modal {
    position: fixed;
    top:0; left:0;
    width:100%; height:100%;
    background: rgba(0,0,0,0.4);
    display:none;
    justify-content:center;
    align-items:center;
}

.abm-kho-modal-content {
    background:#fff;
    padding:25px;
    width:420px;
    border-radius:10px;
}

#abm_kho_detail_modal .abm-kho-modal-content{
	 width:820px;
}

.abm-kho-modal-content input {
    width:100%;
    margin:8px 0 18px 0;
    padding:10px;
    border:1px solid #ddd;
    border-radius:6px;
}

.abm-kho-detail-btn {
	margin: 0;
	background-color: var(--fs-color-primary);
	text-transform: capitalize;
	font-size: 14px;
	font-weight: 400;
	border-radius: 7px;
	color: #FFF;
}
.abm-kho-detail-btn:hover {
	outline: 1px solid var(--fs-color-primary);
	color: var(--fs-color-primary);
	background-color: #FFF;
}
.abm-kho-modal-actions {
    text-align:right;
}

.abm-kho-detail-close {
	margin: 0;
	background: #f9fafb;
    color: #111827;
    border-color: #d1d5db;
	border-radius: 7px;
    padding: 6px 12px;
    font-size: 13px;
    cursor: pointer;
    border: 1px solid transparent;
}

.abm-kho-modal-actions button,{
    padding:8px 16px;
    border:none;
    border-radius:6px;
    cursor:pointer;
}

.abm-kho-missing {
    color: #e53935;
    margin-left: 4px;
    font-size: 90%;
}
.row {
	margin-left: 0 !important;
	margin-right: 0 !important;
}
button {
	line-height: 1!important;
}
/* Cho cả màn POS cao bằng viewport */
.abm-pos-wrap {
    min-height: 100vh;
}

/* Bố cục 2 cột chính */
.abm-pos-main {
    display: flex;
    gap: 24px;
    align-items: flex-start;
}

/* CHỈ phần danh sách nước ép scroll */
.abm-pos-products {
	flex: 1;
}
.abm-pos-group-parent {
	max-height: calc(100vh - 140px);
	overflow-y: auto; 
	margin-top: 20px;
    padding-right: 8px;      /* chừa chỗ cho scrollbar */
}

/* Card đơn hàng bên phải cố định theo viewport */
.abm-pos-order {
    width: 360px;            /* tuỳ bạn */
    position: sticky;
    top: 50px;              /* nằm dưới phần top-bar một chút */
    align-self: flex-start;
}

/* Nếu muốn cả thanh top (tên cửa hàng + search + tồn kho) luôn bám top khi cuộn */
.abm-pos-top {
    position: sticky;
    top: 0;
    z-index: 20;
}
.abm-pos-detail-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: none;
}
.abm-pos-detail-modal.is-open {
	display: block;
}
.abm-pos-detail-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,.4);
}
.abm-pos-detail-dialog {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: #fff;
	border-radius: 10px;
	max-width: 800px;
	width: 95%;
	max-height: 80vh;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
.abm-pos-detail-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 12px 16px;
	border-bottom: 1px solid #eee;
}
.abm-pos-detail-body {
	padding: 12px 16px 16px;
	overflow: auto;
}
.abm-pos-detail-tb {
	width: 100%;
	border-collapse: collapse;
}
.abm-pos-detail-tb th,
.abm-pos-detail-tb td {
	border: 1px solid #eee;
	padding: 6px 8px;
	font-size: 13px;
}
.abm-pos-detail-summary {
	margin-top: 10px;
	text-align: right;
	font-weight: 600;
}
.abm-pos-rev-code {
	border: none;
	background: none;
	color: #0073aa;
	cursor: pointer;
	text-decoration: underline;
	padding: 0;
}
.abm-pos-rev-code:hover {
	color: #005177;
}
.abm-shift-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
}

.abm-shift-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.4);
}

.abm-shift-dialog {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 420px;
    width: 90%;
    background: #fff;
    border-radius: 10px;
    padding: 16px 18px;
}

.abm-shift-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.abm-shift-header h3 {
    font-size: 18px;
    margin: 0;
}

.abm-shift-close {
    background: none;
    border: none;
    font-size: 20px;
    cursor: pointer;
}

.abm-shift-stock {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 10px;
}

.abm-shift-note textarea {
    width: 100%;
}

.abm-shift-footer {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 12px;
}

.abm-shift-btn {
    border-radius: 7px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    padding: 8px 18px;
    font-size: 13px;
    cursor: pointer;
    margin: 0;
    color: #475569;
}

.abm-shift-btn:hover {
	background: #16a34a;
    border-color: #16a34a;
    color: #fff;
}
.abm-shift-admin-page {
    max-width: 100%;
    margin: 0 auto;
	width: 100%;
    padding: 20px 0 40px;
}

.abm-shift-admin-header h1 {
    font-size: 24px;
    margin-bottom: 5px;
}

.abm-shift-admin-sub {
    color: #666;
    margin-bottom: 15px;
}

.abm-shift-admin-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
    margin-bottom: 15px;
    align-items: center;
}

.abm-shift-filter-item label {
    font-size: 13px;
    font-weight: 600;
    margin-right: 6px;
}

#abm_shift_store_filter,
#abm_shift_search {
    padding: 6px 10px;
    border-radius: 6px;
    border: 1px solid #d1d5db;
    min-width: 220px;
}

.abm-shift-admin-table-wrap {
    overflow-x: auto;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
}

.abm-shift-admin-table {
    width: 100%;
    border-collapse: collapse;
}

.abm-shift-admin-table th,
.abm-shift-admin-table td {
    padding: 10px 12px;
    border-bottom: 1px solid #e5e7eb;
    font-size: 13px;
}

.abm-shift-admin-table th {
    background: #f3f4f6;
    text-align: left;
    white-space: nowrap;
}

.abm-shift-admin-table tbody tr:nth-child(even) {
    background: #f9fafb;
}

/* Badge ca */
.abm-shift-badge-ca1,
.abm-shift-badge-ca2 {
    display: inline-block;
	padding: 6px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    color: #fff;
}

.abm-shift-badge-ca1 { background: #16a34a; } /* xanh */
.abm-shift-badge-ca2 { background: #2563eb; } /* xanh dương */

.abm-shift-store-id,
.abm-shift-user-id {
    font-size: 11px;
    color: #6b7280;
    margin-top: 2px;
}

@media (max-width: 1600px) {
	.abm-pos-btn-size:active  {
		background: #fff;
		color: #16a34a;
		transform: translateY(-1px) scale(1.03);
		box-shadow: 0 4px 10px rgba(0,0,0,.16);
		outline: 1px solid #16a34a;
	}
}
/* ========== MOBILE (<= 768px) ========== */
@media (max-width: 768px) {

  /* Hai cột xếp dọc */
  .abm-pos-main {
    flex-direction: column;
    gap: 16px;
  }

  /* Danh sách sản phẩm: bỏ scroll riêng, để auto theo trang */
  .abm-pos-products {
    max-height: none;
    overflow: visible;
    padding-right: 0;
  }

  /* Đơn hàng bên phải: full width, không sticky nữa */
  .abm-pos-order {
    width: 100%;
    position: static;
    top: auto;
  }

  /* Thanh top cũng không sticky trên mobile */
  .abm-pos-top {
    position: static;
    top: auto;
  }
}

/* MOBILE */
@media (max-width: 1500px) {
	.col, 
	.large-12,
	.col-12 {
		padding: 0 15px !important;
	}
}
@media (max-width: 1200px) {
	.abm-pos-wrap {
		padding: 16px 0;
	}
	.tab-quan-ly {
		flex-wrap: wrap;
	}
	.menu-tab-item {
		display: flex;
        gap: 20px;
	}
	.tabmenu-item,
	.menu-tab-item,
	.tab-content{
		width: 100%;
	}
	.tab-item {
		margin-top: 0;
	}
	.abm-system-wrap {
		padding: 24px 0;
	}
}
@media (max-width: 1100px) {
    .abm-store-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 1024px) {
    .abm-pos-main {
        grid-template-columns: 1fr;
    }
	.abm-pos-top {
		flex-direction: row-reverse;
	}
	.abm-pos-top {
		flex-wrap:wrap;
	}
	.abm-pos-top-left {
		width: 100%;
		flex: 1;
		order: 2;
	}
	.abm-pos-top-right {
		min-width: 100%;
	}
	.tabmenu-item {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	
	.menu-tab-item {
		flex-wrap: nowrap; 
		width: 1000px;
	}
	.tabmenu-item .tab-item {
		flex: 0 0 auto;
	}
	.tabmenu-item::-webkit-scrollbar {
		display: none;
	}
}
@media(max-width: 849px) {
	.header-page .row .col {
		width: 50%;
	}
	.header-page .row:nth-child(2),
	.abm-kho-wrap{
		width: 100%;
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	.header-page .row:nth-child(2) .col-12 {
		width: 100%;
	}
	.abm-product-dashboard {
		padding: 21px 10px;
	}
}
@media (max-width: 768px) {
	#date-page {
		font-size: 10px;
	}
	.abm-kho-table-wrap,
	.abm-pos-revenue-table,
	.abm-system-table-wrap,
	.abm-order-table,
	.abm-table-wrapper,
	.abm-table-wrapper,
	.abm-kho-detail-table-wrap,
	.abm-shift-admin-table-wrap{
		width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.abm-shift-admin-table {
		width: 1200px;
		max-width: 1200px;
		border-collapse: collapse;
	}
	.abm-kho-detail-table {
		min-width: 800px;
		border-collapse: collapse;
	}
	.abm-product-table {
		width: 1500px;
		border-collapse: collapse;
	}
	.abm-order-table table {
		min-width: 1200px;
		border-collapse: collapse;
	}
	.abm-kho-table{
		min-width: 800px;
		border-collapse: collapse;
	}
	.abm-pos-revenue-tb,
	.abm-store-table{
		min-width: 1200px;
		border-collapse: collapse;
	}
	.abm-system-table {
		min-width: 800px;
		border-collapse: collapse;
	}
	.abm-store-grid {
		grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	}
	.abm-store-detail-wrap {
		padding: 20px 0;
	}
	.abm-pos-revenue-title,
	.abm-system-title{
		margin-bottom:12px;
		font-size: 20px;
	}
	.abm-system-header,
	.abm-system-table-head,
	.abm-filter-top{
		flex-wrap: wrap;
	}
	.name-page span:first-child {
		font-size: 16px;
	}
	.name-page span.line,
	.name-page span.last {
		display: none;
	}
	.abm-store-list .abm-store-search-form input {
		max-width: 80%!important;
	}
	.abm-store-list .abm-store-search-form button {
		width:20%;
	}
	.header-tab h3 {
		font-size: 20px;
	}
	.abm-popup-content,
	#abm_kho_detail_modal .abm-kho-modal-content,
	.abm-kho-modal-content{
		width: 90%;
	}
	.abm-stat-filters .abm-date-filter-group {
		justify-content: center;
	}
	.abm-stat-cards,
	.abm-product-actions{
		flex-wrap: wrap;
	}
	.abm-stat-cards .abm-card {
		width: 100%;
		flex: unset;
	}
	.abm-product-header h3 {
		width: 100%;
		text-align: center;
	}
	.abm-product-header {
		flex-wrap: wrap;
	}
	.abm-product-actions {
		width: 100%;
	}
	.abm-product-actions > * {
		width: 100% !important;
	}
	.button.primary, .button.secondary {
		font-size: 16px;
	}
}
@media (max-width: 600px) {

	.col, .large-12, .col-12 {
		padding: 0 !important;
	}
	.abm-store-list .abm-store-search-form input {
		max-width: 65% !important;
	}
	.abm-store-list .abm-store-search-form button {
		width: 35%;
	}
	.abm-kho-table th:nth-child(2),
	.abm-kho-table th:nth-child(3),
	.abm-kho-table tr td:nth-child(2),
	.abm-kho-table tr td:nth-child(3){
		width: 15%;
	}
	
	.abm-kho-table th {
		font-size: 10px;
	}
	.abm-page-title {
		font-size: 20px;
	}
	.popup-login {
		min-width: 90%;
	}
	.abm-pos-product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.abm-tabs-nav {
		flex-wrap: wrap;
	}
	.abm-tab-btn {
		width: 100%;
	}
	.abm-pos-revenue-top {
		flex-wrap: wrap;
	}
	.abm-system-search {
		width: 100%;
	}
	.abm-system-cards {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
	.abm-store-grid {
		grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	}
}

