.harga {
    font-size: 14px;
}

.nama-produk {
    font-size: 12px !important;
}

.unit {
    font-size: 13px;
}

/* HP */
@media (max-width: 576px) {
    .harga {
        font-size: 11px !important;
    }

    .nama-produk {
        font-size: 13px !important;
    }

    .unit {
        font-size: 10px !important;
    }
}

.category-wrapper {
    position: relative;
    height: 44px;
    /* tinggi kategori */
    margin-bottom: 16px;
}

/* UL disembunyikan TANPA ambil ruang */
#category-tabs {
    position: absolute;
    inset: 0;
    visibility: hidden;
}

/* skeleton overlay */
.skeleton-category {
    position: absolute;
    inset: 0;
    height: 44px;
    border-radius: 10px;
    background: linear-gradient(90deg,
            #eee 25%,
            #f5f5f5 37%,
            #eee 63%);
    background-size: 400% 100%;
    animation: skeleton-loading 1.2s ease-in-out infinite;
    z-index: 2;
}


@keyframes skeleton-loading {
    0% {
        background-position: 100% 0;
    }

    100% {
        background-position: -100% 0;
    }
}

.kasir-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 15px;
}

.sort-select {
    width: 160px;
}

.kasir-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 15px;
}

.sort-select {
    width: 160px;
}

/* Container widget */
.income-widget {
    display: flex;
    gap: 12px;
}

/* Box pemasukan */
.income-box {
    background: #f6fff8;
    border: 1px solid #cce8d8;
    border-radius: 10px;
    padding: 8px 14px;
    text-align: right;
    min-width: 160px;
    transition: 0.2s ease;
}

/* Label */
.income-box .label {
    display: block;
    font-size: 12px;
    color: #6c757d;
}

/* Hover effect */
.income-box:hover {
    box-shadow: 0 4px 12px rgba(25, 135, 84, 0.15);
    transform: translateY(-1px);
}

/* Angka uang */
.income-box .value {
    font-size: 16px;
    font-weight: 700;
    color: #198754;
    /* hijau POS */
}

.income-box .sub {
    display: block;
    margin-top: 3px;
    font-size: 11px;
    font-weight: 600;
}

.income-box .sub.up {
    color: #16a34a;
    /* hijau naik */
}

.income-box .sub.down {
    color: #dc2626;
    /* merah turun */
}

/* mobile */
@media (max-width: 576px) {
    .income-box .sub {
        font-size: 10px;
    }
}

/* =======================
RESPONSIVE MOBILE
======================= */
@media (max-width: 576px) {

    .kasir-topbar {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .sort-select {
        width: 100%;
    }

    .income-widget {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .income-box {
        min-width: auto;
        padding: 6px 10px;
        text-align: left;
    }

    .income-box .label {
        font-size: 11px;
    }

    .income-box .value {
        font-size: 15px;
    }



}