@import 'custom_sidebar.css';
/* Default untuk semua device (terutama HP) */
.c-main {
  flex-basis: auto;
  flex-shrink: 0;
  flex-grow: 1;
  min-width: 0;
 
}

.container, 
.container-fluid, 
.container-sm, 
.container-md, 
.container-lg, 
.container-xl, 
.container-xxl {
    width: 100%;
    padding-right: 0.2rem; /* px-3 (12px) untuk mobile */
    padding-left: 0.2rem;  /* px-3 (12px) untuk mobile */
    margin-right: auto;
    margin-left: auto;
}

/* =====================================
   SIDEBAR WIDTH FIX
===================================== */

/* =====================================
   FIX ICON SHIFT (COREUI OVERRIDE)
===================================== */
html:not([dir=rtl]) .c-sidebar .c-sidebar-nav-icon:first-child {
    margin-left: 0 !important;   /* hilangkan minus margin */
}

/* Optional: rapikan posisi icon */
.c-sidebar .c-sidebar-nav-icon {
    flex: 0 0 20px;
    margin-right: 12px;
    text-align: center;
}



.c-sidebar {
    flex: 0 0 256px !important;
    width: 256px !important;
    max-width: 256px !important;
}

/* =====================================
   DROPDOWN CHILD PADDING FIX
===================================== */
@media (hover: hover), (-ms-high-contrast: none) {

    html:not([dir=rtl]) .c-sidebar 
    .c-sidebar-nav-dropdown-items 
    .c-sidebar-nav-link,
    
    html:not([dir=rtl]) .c-sidebar 
    .c-sidebar-nav-dropdown-items 
    .c-sidebar-nav-dropdown-toggle {
         font-size: 0.8rem !important;
        padding-left: 10px !important; 
         overflow-x: hidden !important;
    }
}
/* =====================================
   DROPDOWN CHILD FIX
===================================== */
.c-sidebar-nav-dropdown .c-sidebar-nav-dropdown-items {
    padding-left: 0.5rem !important;
    overflow-x: hidden !important;
}

/* =====================================
   LINK & TOGGLE STRUCTURE
===================================== */
.c-sidebar .c-sidebar-nav-link,
.c-sidebar .c-sidebar-nav-dropdown-toggle {
    display: flex;
    align-items: center;
    padding: 10px 16px;          /* spacing utama */
    max-width: 100%;
    overflow: hidden;
}

.c-sidebar .c-sidebar-nav-link,
.c-sidebar .c-sidebar-nav-dropdown-toggle .title{
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
    line-height: 1.2;
    font-size: 0.8rem !important;
    margin: 0 !important;
}


@media (hover: hover), (-ms-high-contrast: none) {
    html:not([dir=rtl]) .c-sidebar-nav-dropdown-items .c-sidebar-nav-link, html:not([dir=rtl]) .c-sidebar-nav-dropdown-items .c-sidebar-nav-dropdown-toggle {
        padding-left: 50px !important;
         font-size: 0.8rem !important;
    }
}
/* =====================================
   ICON FIX (lebar tetap & rapi)
===================================== */
.c-sidebar .c-sidebar-nav-icon {
    flex: 0 0 20px;
    margin-right: 12px;
    text-align: center;
}

/* =====================================
   TEXT WRAP FIX
===================================== */
.c-sidebar .c-sidebar-nav-link span,
.c-sidebar .c-sidebar-nav-dropdown-toggle .title {
    flex: 1;
    display: block;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
    line-height: 1;
    font-size: 0.8rem !important;
    margin: 0 !important;
}

/* =====================================
   JARAK ANTAR ITEM
===================================== */
.c-sidebar .c-sidebar-nav-item {
    margin-bottom: 4px;
}

/* =====================================
   HINDARI HORIZONTAL SCROLL
===================================== */
.c-sidebar,
.c-sidebar * {
    box-sizing: border-box;
}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
  .c-main {
    padding: 0.20rem !important; /* p-3 untuk small device (12px) */
  }
  
  .container, 
  .container-sm {
    max-width: 540px;
    padding-right: 0.75rem; /* px-3 */
    padding-left: 0.75rem;  /* px-3 */
  }
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
  .c-main {
    padding-top: 1.5rem; /* pt-6 untuk tablet (24px) */
    padding-right: 1rem; /* pr-4 (16px) */
    padding-bottom: 1rem; /* pb-4 (16px) */
    padding-left: 1rem; /* pl-4 (16px) */
  }
  
  .c-main > .container-fluid,
  .c-main > .container-sm,
  .c-main > .container-md,
  .c-main > .container-lg,
  .c-main > .container-xl,
  .c-main > .container-xxl {
    padding-right: 0.875rem; /* 30px */
    padding-left: 0.875rem;  /* 30px */
  }
  
  .container, 
  .container-sm,
  .container-md {
    max-width: 720px;
    padding-right: 0.9375rem; /* 15px */
    padding-left: 0.9375rem;  /* 15px */
  }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
  .c-main {
    padding-top: 2rem; /* pt-8 untuk desktop (32px) */
    padding-right: 1.5rem; /* pr-6 (24px) */
    padding-bottom: 1.5rem; /* pb-6 (24px) */
    padding-left: 1.5rem; /* pl-6 (24px) */
  }
  
  .container, 
  .container-sm,
  .container-md,
  .container-lg {
    max-width: 960px;
    padding-right: 0.9375rem; /* 15px */
    padding-left: 0.9375rem;  /* 15px */
  }
}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
  .c-main {
    padding-top: 2.5rem; /* pt-10 untuk large desktop (40px) */
    padding-right: 2rem; /* pr-8 (32px) */
    padding-bottom: 2rem; /* pb-8 (32px) */
    padding-left: 2rem; /* pl-8 (32px) */
  }
  
  .container, 
  .container-sm,
  .container-md,
  .container-lg,
  .container-xl {
    max-width: 1140px;
    padding-right: 0.9375rem; /* 15px */
    padding-left: 0.9375rem;  /* 15px */
  }
}

/* Extra extra large devices (1400px and up) */
@media (min-width: 1400px) {
  .container, 
  .container-sm,
  .container-md,
  .container-lg,
  .container-xl,
  .container-xxl {
    max-width: 1320px;
    padding-right: 0.9375rem; /* 15px */
    padding-left: 0.9375rem;  /* 15px */
  }
}

/* Desktop (lg) */
@media (min-width: 1024px) {
  .c-main {
    padding: 1rem 1.5rem 1.5rem; /* padding lebih besar di desktop */
  }
}

/* Footer global font */
.c-footer .title{
    color: #4B5563; /* text-gray-600 */
    font-size: 0.75rem; /* text-xs (mobile default) */
    line-height: 1.25rem;
}

/* Desktop (md >= 768px) */
@media (max-width: 768px) {
    .c-footer{
        font-size: 0.8rem !important; 
    }
}
.c-subheader {
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    min-height: 38px; /* desktop default */
    padding: 0.2rem 0.15rem;
}

/* =========================
   MOBILE (HP)
   <= 640px (Tailwind sm)
   ========================= */
@media (max-width: 640px) {
    .c-subheader {
        flex-direction: column;
        min-height: auto;
        padding-top: 0.2rem;
        padding-bottom: 0.2rem;
    }

    .c-subheader > * {
        font-size: 0.75rem; /* text-xs */
        line-height: 1.1rem;
    }

.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    padding: 0.15rem 1rem;
    margin-bottom: 1.5rem;
    list-style: none;
    background-color: transparent;
    border-radius: 0;
}


}


.c-app {
   
    max-width: 100% !important;
}


/* =========================================
   Custom Button: POS GTDS (Black Theme)
   ========================================= */

/* Style utama tombol solid hitam */
.btn-pos-gtds {
    color: #fff !important;
    background-color: #3a3a3a !important;
    border-color: #3a3a3a !important;
    font-weight: 600;
    transition: all 0.2s ease-in-out;
}

.btn-pos-gtds:hover {
    color: #fff !important;
    background-color: #222 !important; /* sedikit lebih terang saat hover */
    border-color: #222 !important;
}

.btn-pos-gtds:focus,
.btn-pos-gtds.focus {
    color: #fff !important;
    background-color: #111 !important;
    border-color: #111 !important;
    box-shadow: 0 0 0 0.2rem rgba(0,0,0,0.4);
}

.btn-pos-gtds.disabled,
.btn-pos-gtds:disabled {
    color: #aaa !important;
    background-color: #333 !important;
    border-color: #333 !important;
}

.btn-pos-gtds:not(:disabled):not(.disabled):active,
.btn-pos-gtds:not(:disabled):not(.disabled).active,
.show > .btn-pos-gtds.dropdown-toggle {
    color: #fff !important;
    background-color: #111 !important;
    border-color: #111 !important;
}

/* =========================================
   Outline version (border hitam)
   ========================================= */
.btn-pos-gtds-outline {
    color: #3a3a3a !important;
    background-color: transparent !important;
    border-color: #3a3a3a !important;
    font-weight: 600;
    transition: all 0.2s ease-in-out;
}

.btn-pos-gtds-outline:hover {
    color: #fff !important;
    background-color: #3a3a3a !important;
    border-color: #3a3a3a !important;
}

.btn-pos-gtds-outline:focus,
.btn-pos-gtds-outline.focus {
    color: #3a3a3a !important;
    background-color: transparent !important;
    border-color: #3a3a3a !important;
    box-shadow: 0 0 0 0.2rem rgba(0,0,0,0.3);
}

.btn-pos-gtds-outline.disabled,
.btn-pos-gtds-outline:disabled {
    color: #999 !important;
    background-color: transparent !important;
    border-color: #999 !important;
}

.btn-pos-gtds-outline:not(:disabled):not(.disabled):active,
.btn-pos-gtds-outline:not(:disabled):not(.disabled).active,
.show > .btn-pos-gtds-outline.dropdown-toggle {
    color: #fff !important;
    background-color: #3a3a3a !important;
    border-color: #3a3a3a !important;
}

/* =========================================
   Ukuran Besar (POS Layout)
   ========================================= */
.btn-pos-gtds-lg {
    padding: 0.75rem 1.25rem !important;
    font-size: 1.1rem !important;
    border-radius: 0.5rem;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.btn-pos-gtds-lg i {
    font-size: 1.3rem;
}/* =========================================
   Custom Button: POS GTDS (Black Theme)
   ========================================= */

/* Tombol solid hitam */
.btn-pos-gtds {
    color: #fff !important;
    background-color: #000 !important;
    border-color: #000 !important;
    font-weight: 600;
    transition: all 0.2s ease-in-out;
}

.btn-pos-gtds:hover {
    color: #fff !important;
    background-color: #222 !important;
    border-color: #222 !important;
}

.btn-pos-gtds:focus,
.btn-pos-gtds.focus {
    color: #fff !important;
    background-color: #111 !important;
    border-color: #111 !important;
    box-shadow: 0 0 0 0.2rem rgba(0,0,0,0.4);
}

.btn-pos-gtds.disabled,
.btn-pos-gtds:disabled {
    color: #aaa !important;
    background-color: #333 !important;
    border-color: #333 !important;
}

.btn-pos-gtds:not(:disabled):not(.disabled):active,
.btn-pos-gtds:not(:disabled):not(.disabled).active,
.show > .btn-pos-gtds.dropdown-toggle {
    color: #fff !important;
    background-color: #111 !important;
    border-color: #111 !important;
}

/* Ukuran besar + layout kiri */
.btn-pos-gtds-lg {
    padding: 0.75rem 1rem !important;
    font-size: 1rem !important;
    border-radius: 0.5rem;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important; /* ikon + teks rata kiri */
    gap: 0.6rem !important;
    text-align: left !important;
    width: 100%;
}

/* Ikon dan teks */
.btn-pos-gtds-lg i {
    font-size: 1.3rem !important;
    color: #333 !important;
    flex-shrink: 0;
    margin-top: -0.6rem;
}

.btn-pos-gtds-lg div {
    font-size: 1rem !important;
    line-height: 1.2;
}




/* Hover effect untuk ikon */
.btn-pos-gtds-outline:hover i,
.btn-pos-gtds:hover i {
    color: #fff !important;
}






.btn-pay{

    letter-spacing: 0.4rem;
    font-size: 1.5rem;
    line-height: 110%;
    font-weight: 700;

}




.btn-submit-sales{

    letter-spacing: 0.4rem;
    font-size: 1.5rem;
    line-height: 110%;
    font-weight: 700;

}



.btn-chy {
    color: #fff !important;
    background-color: #a88644;
    border-color: #a88644;
}

.btn-chy:hover {
    color: #fff !important;
    background-color: #8C6F35; /* Lebih gelap untuk hover */
    border-color: #8C6F35;
}

.btn-chy:focus,
.btn-chy.focus {
    color: #fff;
    background-color: #a88644;
    border-color: #a88644;
    box-shadow: 0 0 0 0.2rem rgba(168, 134, 68, 0.5); /* Focus ring berdasarkan primary */
}

.btn-chy.disabled,
.btn-chy:disabled {
    color: #fff;
    background-color: #C0B09A; /* Pudar untuk disabled */
    border-color: #C0B09A;
}

.btn-chy:not(:disabled):not(.disabled):active,
.btn-chy:not(:disabled):not(.disabled).active,
.show > .btn-chy.dropdown-toggle {
    color: #fff;
    background-color: #7A5D2A; /* Lebih gelap untuk active */
    border-color: #7A5D2A;
}

/* Button outline coklat keemasan (.btn-chy-outline) */
.btn-chy-outline {
    color: #a88644;
    background-color: transparent;
    border-color: #a88644;
}

.btn-chy-outline:hover {
    color: #fff;
    background-color: #a88644;
    border-color: #a88644;
}

.btn-chy-outline:focus,
.btn-chy-outline.focus {
    color: #a88644;
    background-color: transparent;
    border-color: #a88644;
    box-shadow: 0 0 0 0.2rem rgba(168, 134, 68, 0.5);
}

.btn-chy-outline.disabled,
.btn-chy-outline:disabled {
    color: #C0B09A;
    background-color: transparent;
    border-color: #C0B09A;
}

.btn-chy-outline:not(:disabled):not(.disabled):active,
.btn-chy-outline:not(:disabled):not(.disabled).active,
.show > .btn-chy-outline.dropdown-toggle {
    color: #fff;
    background-color: #a88644;
    border-color: #a88644;
}



.page-link {
    position: relative;
    display: block;
    padding: 0.5rem 0.75rem;
    line-height: 1.25;
    border: 1px solid;
    color: #a88644 !important;
    background-color: #fff;
    border-color: #d8dbe0;
}

.page-item.active .page-link {
    z-index: 3;
    color: #fff !important;
    background-color: #a88644 !important;
    border-color: #a88644 !important;
}






.dropdown-menu-24 {
    position: absolute;
    top: 100%;
    z-index: 1000;
    display: none;
    float: left;
    min-width: 28rem !important;
    padding: 0.5rem 0;
    font-size: 0.875rem;
    text-align: left;
    list-style: none;
    background-clip: padding-box;
    border: 1px solid;
    border-radius: 0.25rem;
    color: #3c4b64;
    background-color: #fff;
    border-color: #d8dbe0;
}




/* Ganti warna utama btn-primary */
.btn-primary {
 color: #fff !important;
  background-color: #a88644 !important;
  border-color: #a88644 !important;
}

/* Warna saat hover */
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  color: #fff !important;
  background-color: #8f733b !important; /* versi lebih gelap */
  border-color: #8f733b !important;
}

/* Ganti warna untuk outline-primary */
.btn-outline-primary {
  color: #a88644 !important;
  border-color: #a88644 !important;
}

/* Hover outline jadi solid */
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
  background-color: #a88644 !important;
  border-color: #a88644 !important;
  color: #fff !important;
}

/*
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: #a88644 !important;
    color: white
}*/



div.dataTables_wrapper div.dataTables_processing {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 220px;
    margin-left: -110px;
    margin-top: -30px;
    text-align: center;
    padding: 1em 0;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid #dee2e6;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
    font-weight: 500;
    color: #333;
}

div.dataTables_wrapper div.dataTables_processing::before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    margin-right: 8px;
    width: 1.25rem;
    height: 1.25rem;
    border: 0.2em solid #a88644; /* warna sesuai tombol primary kamu */
    border-right-color: transparent;
    border-radius: 50%;
    animation: spinner-border .75s linear infinite;
}

/* Animasi berputar */
@keyframes spinner-border {
    to { transform: rotate(360deg); }
}


.select2-container {
    width: 100% !important;
}

label {
    display: inline-block;
    margin-bottom: 0.2rem !important;
}

.modal-body {
    padding: 0.5rem !important;
}



.form-group {
    margin-bottom: 0.6rem !important;
}

/* Pagination */
.page-link {
    color: #c8aa61 !important;
    background-color: #fff;
    border-color: #d8dbe0;
}

.page-item.active .page-link {
    color: #fff !important;
    background-color: #c8aa61 !important;
    border-color: #c8aa61 !important;
}

/* === BTN PRIMARY === */
.btn-primary {
  background-color: #c8aa61 !important;
  border-color: #c8aa61 !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background-color: #b19054 !important;
  border-color: #b19054 !important;
}

/* === BTN OUTLINE PRIMARY === */
.btn-outline-primary {
  color: #c8aa61 !important;
  border-color: #c8aa61 !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
  background-color: #c8aa61 !important;
  border-color: #c8aa61 !important;
  color: #fff !important;
}



/* Datatable processing spinner */
div.dataTables_wrapper div.dataTables_processing::before {
    border: 0.2em solid #c8aa61;
    border-right-color: transparent;
}

/* === TEXT COLORS === */
.text-brown       { color: #c8aa61 !important; }
.text-brown-50    { color: #faf7ef !important; }
.text-brown-100   { color: #f4ebd8 !important; }
.text-brown-200   { color: #e9d8b0 !important; }
.text-brown-300   { color: #ddc489 !important; }
.text-brown-400   { color: #d2b161 !important; }
.text-brown-500   { color: #c8aa61 !important; }
.text-brown-600   { color: #b19054 !important; }
.text-brown-700   { color: #9e7e47 !important; }
.text-brown-800   { color: #7e633a !important; }
.text-brown-900   { color: #604a2a !important; }

/* === BORDER COLORS === */
.border-brown       { border-color: #c8aa61 !important; }
.border-brown-50    { border-color: #faf7ef !important; }
.border-brown-100   { border-color: #f4ebd8 !important; }
.border-brown-200   { border-color: #e9d8b0 !important; }
.border-brown-300   { border-color: #ddc489 !important; }
.border-brown-400   { border-color: #d2b161 !important; }
.border-brown-500   { border-color: #c8aa61 !important; }
.border-brown-600   { border-color: #b19054 !important; }
.border-brown-700   { border-color: #9e7e47 !important; }
.border-brown-800   { border-color: #7e633a !important; }
.border-brown-900   { border-color: #604a2a !important; }

/* === BACKGROUND COLORS === */
.bg-brown       { background-color: #c8aa61 !important; }
.bg-brown-50    { background-color: #faf7ef !important; }
.bg-brown-100   { background-color: #f4ebd8 !important; }
.bg-brown-200   { background-color: #e9d8b0 !important; }
.bg-brown-300   { background-color: #ddc489 !important; }
.bg-brown-400   { background-color: #d2b161 !important; }
.bg-brown-500   { background-color: #c8aa61 !important; }
.bg-brown-600   { background-color: #b19054 !important; }
.bg-brown-700   { background-color: #9e7e47 !important; }
.bg-brown-800   { background-color: #7e633a !important; }
.bg-brown-900   { background-color: #604a2a !important; }

/* === GRADIENTS === */
.bg-gradient-brown {
  background-image: linear-gradient(to right, #c8aa61, #b19054);
}
.bg-gradient-brown-t {
  background-image: linear-gradient(to top, #c8aa61, #b19054);
}
.bg-gradient-brown-b {
  background-image: linear-gradient(to bottom, #c8aa61, #b19054);
}
.bg-gradient-brown-l {
  background-image: linear-gradient(to left, #c8aa61, #b19054);
}
.bg-gradient-brown-tr {
  background-image: linear-gradient(to top right, #c8aa61, #b19054);
}
.bg-gradient-brown-br {
  background-image: linear-gradient(to bottom right, #c8aa61, #b19054);
}

/* Tailwind-style gradient */
.from-brown-500 { --tw-gradient-from: #c8aa61; }
.to-brown-700   { --tw-gradient-to: #9e7e47; }
.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-from), var(--tw-gradient-to));
}
table.dataTable td {
  vertical-align: middle !important;
  text-align: center;
}


.w-1p {
     width: 1% !important;
}
.w-2p {
     width: 2% !important;
}.w-3p {
     width: 3% !important;
}.w-4p {
     width: 4% !important;
}
.w-5p {
     width: 5% !important;
}.w-10p {
     width: 10% !important;
}
.w-15p {
     width: 15% !important;
}
.w-20p {
     width: 20% !important;
}

.w-25p {
     width: 25% !important;
}
.w-30p {
     width: 30% !important;
}.w-35p {
     width: 35% !important;
}




.btn-success {
    color: #fff;
    background-color: #4caf50 !important;
    border-color: #321fdb !important;
}

.btn-outline-secondary {
    color: #858688 !important;
    border-color: #929599 !important;
}

.small {
    font-size:0.6rem !important;

}

.btn-sm, .btn-group-sm > .btn {
    padding: 0.16rem 0.5rem !important;
    font-size: 0.7rem !important;
    line-height: 1.6 !important;
    border-radius: 0.2rem;
}



.btn-xs, .btn-group-xs > .btn {
    padding: 0.16rem 0.3rem !important;
    font-size: 0.6rem !important;
    line-height: 1.5 !important;
    border-radius: 0.2rem;
}

.text-xs {
    font-size: 0.65rem !important;
    line-height: 1rem !important;
}

.text-chy {
    color: #a88644 !important;

}

.table-sm td {
    padding: 0.3rem 0.5rem 0.3rem 0.5rem!important;

     font-size: 0.8rem !important;
}


.table-sm th {
    padding: 0.5rem 0.3rem 0.5rem 0.3rem!important;

     font-size: 0.8rem !important;
}



@media (max-width: 767.98px) {
 .table-sm th,
 .table-sm td {
      padding: 0.3rem 0.5rem 0.3rem 0.5rem!important;
      font-size: 0.8rem !important;
  }
}


.radius65 {
     border-radius: 0.65rem !important;
}

table.dataTable td, table.dataTable th .left{
  
   vertical-align: middle !important;
}
.modal-footer {
    padding: 0rem !important;
    border-top: 1px solid;
    border-bottom-right-radius: calc(0.3rem - 1px);
    border-bottom-left-radius: calc(0.3rem - 1px);
    border-color: #d8dbe0;
}

.dropdown-menu-user {
    position: absolute;
    top: 100%;
    z-index: 1000;
    display: none;
    float: left;
    min-width: 14rem !important;
    padding: 0.3rem 0;
    font-size: 0.775rem;
    text-align: left;
    list-style: none;
    background-clip: padding-box;
    border: 1px solid;
    border-radius: 0.25rem;
    color: #3c4b64;
    background-color: #fff;
    border-color: #d8dbe0;
}

.dropdown-item-users{
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0.1rem 1rem !important;
    clear: both;
    font-weight: 400;
    text-align: inherit;
    white-space: nowrap;
    background-color: transparent;
    border: 0;
    color: #4f5d73;
}



/* =======================================================
   SWEETALERT2 GLOBAL CUSTOM STYLING
   ======================================================= */

/* --- Base Style untuk Semua Alert --- */

.swal2-popup.swal2-toast .swal2-title {
    margin: 0.5em !important;
    padding: 0;
    font-size: 0.9em !important;
    text-align: initial;
}
.swal2-popup,
.swal2-toast {
 font-family: 'Poppins', sans-serif !important;
  font-size: 0.85rem !important;
  border-radius: 10px !important;
  color: #fff !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3) !important;
}

/* --- Title & Body Text --- */
.swal2-title {
  font-weight: 600 !important;
  font-size: 0.9rem !important;
  color: #fff !important;
}

.swal2-html-container {
  font-size: 0.7rem !important;
  color: #f5f5f5 !important;
}

/* =======================================================
   TIPE PER ALERT (popup + toast)
   ======================================================= */

/* === INFO === */
.swal2-toast.swal2-icon-info,
.swal2-popup.swal2-icon-info {
  background-color: #2196f3 !important; /* biru terang */
  color: #ffffff !important;
}

/* Icon info */
.swal2-icon.swal2-info {
    background-color: #ffffff !important;
    color: #2196f3 !important;
    border: none !important;
}


/* === SUCCESS === */
.swal2-toast.swal2-icon-success,
.swal2-popup.swal2-icon-success {
  background-color: #43a047d6 !important; /* hijau */
  color: #ffffff !important;
}

/* Icon success */
.swal2-icon.swal2-success {
  background-color: #43a047d6 !important; /* hijau tua */
  color: #ffffff !important;
  border: none !important;
}

.swal2-icon.swal2-success .swal2-success-ring {
    position: absolute;
    z-index: 2;
    top: -.25em;
    left: -.25em;
    box-sizing: content-box;
    width: 100%;
    height: 100%;
    border: .25em solid #ffffff !important;
    border-radius: 50%;
}

.swal2-icon.swal2-success [class^=swal2-success-line] {
    display: block;
    position: absolute;
    z-index: 2;
    height: .3125em;
    border-radius: .125em;
    background-color: #fff !important;
}


/* === WARNING === */
.swal2-toast.swal2-icon-warning,
.swal2-popup.swal2-icon-warning {
  background-color: #ff9800 !important; /* oranye */
  color: #ffffff !important;
}

/* Icon warning */
.swal2-icon.swal2-warning {
  background-color: #ef6c00 !important; /* oranye tua */
  color: #ffffff !important;
  border: none !important;
}

/* === ERROR / DANGER === */
.swal2-toast.swal2-icon-error,
.swal2-popup.swal2-icon-error {
  background-color: #e53935 !important; /* merah */
  color: #ffffff !important;
}

/* Icon error */
.swal2-icon.swal2-error {
  background-color: #b71c1c !important; /* merah tua */
  color: #ffffff !important;
  border: none !important;
}

/* =======================================================
   TOMBOL KONFIRMASI & AKSI
   ======================================================= */

.swal2-confirm {
  background-color: rgba(255, 255, 255, 0.15) !important;
  border: none !important;
  border-radius: 6px !important;
  color: #fff !important;
  font-weight: 500 !important;
}

.swal2-confirm:hover {
  background-color: rgba(255, 255, 255, 0.3) !important;
}


.bg-rose-100 { background-color: #ffe4e6; }
.bg-blue-100 { background-color: #dbeafe; }
.bg-amber-100 { background-color: #fef3c7; }
.bg-purple-100 { background-color: #e9d5ff; }
.bg-rose-500 { background-color: #f43f5e; }
.bg-purple-50 { background-color: #faf5ff; }
.bg-blue-50 { background-color: #eff6ff; }
.bg-green-50 { background-color: #f0fdf4; }
.bg-amber-50 { background-color: #fffbeb; }
.text-rose-600 { color: #e11d48; }
.text-rose-500 { color: #f43f5e; }
.text-rose-100 { color: #ffe4e6; }
.space-y-2 > * + * { margin-top: 0.5rem; }
.space-y-3 > * + * { margin-top: 0.75rem; }

.lb-outerContainer {
    max-width: 500px !important;
    width: 90% !important;
    margin: auto !important;
}
.lb-image {
    max-width: 500px !important;
    height: auto !important;
    object-fit: contain !important;
}

.form-control {
   
    border-color: #9c9ea1 !important;
    
}

.form-control.is-invalid {
    border-color: #e55353 !important;
    
}

.invalid-feedback {
    display: none;
    width: 100%;
    margin-top: .2rem !important;
    font-size: 100%;
    color: #e55353 !important;
    line-height: 110% !important;
    text-transform: capitalize !important;
}

@media (min-width: 1600px) {
    .summary-card {
        padding: 1.25rem 1.5rem !important;   /* bigger padding */
        transform: scale(1.06);               /* slight upscale */
    }

    .summary-title {
        font-size: 0.95rem !important;
    }
    .summary-value {
        font-size: 1.55rem !important;
    }
    .summary-icon-box {
        min-width: 65px !important;
        min-height: 65px !important;
    }
    .summary-icon-box i {
        font-size: 2.2rem !important;
    }
}

/* ≥1900px (Ultra-Wide / 2K Monitor) */
@media (min-width: 1900px) {
    .summary-card {
        padding: 1.4rem 1.7rem !important;
        transform: scale(1.12);
    }
    .summary-value {
        font-size: 1.75rem !important;
    }
    .summary-icon-box {
        min-width: 75px !important;
        min-height: 75px !important;
    }
    .summary-icon-box i {
        font-size: 2.6rem !important;
    }
}

/* Ultra Compact Table */
.table-xxs {
    font-size: 0.8rem;
}

.table-xxs thead th {
    font-size: 0.7rem;
    padding: 0.3rem 0.4rem;
    background-color: #f8f9fa;
    border-bottom: 2px solid #dee2e6;
}

.table-xxs tbody td {
    padding: 0.25rem 0.4rem;
}

.table-xxs .btn-sm {
    padding: 0.15rem 0.4rem;
    font-size: 0.75rem;
}

/* Hover effect untuk rows */
.table-xxs tbody tr:hover td {
    background-color: #e9ecef;
}

/* Table-sm Custom */
.table-sm-custom {
    font-size: 0.775rem;
}

.table-sm-custom thead th {
    border-top: none;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.65rem;
    letter-spacing: 0.5px;
    color: #6c757d;
    padding-top: 0.3rem;
    padding-bottom: 0.3rem;
}

.table-sm-custom tbody td {
    padding: 0.4rem 0.5rem;
    vertical-align: middle;
}

.table-sm-custom tbody tr {
    transition: background-color 0.15s ease;
}

.table-sm-custom tbody tr:hover {
    background-color: #f8f9fa;
}

/* Striped version */
.table-sm-custom.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(0, 0, 0, 0.02);
}

/* Bordered version */
.table-sm-custom.table-bordered {
    border: 1px solid #dee2e6;
}

.table-sm-custom.table-bordered th,
.table-sm-custom.table-bordered td {
    border: 1px solid #dee2e6;
}



/* ============================
   FONT SIZE (Tailwind-like)
   Responsive using clamp()
============================ */
.text-xs   { font-size: clamp(0.7rem, 0.85vw, 0.8rem) !important; }
.text-sm   { font-size: clamp(0.9rem, 0.95vw, 1rem) !important; }
.text-base { font-size: clamp(0.9rem, 1.2vw, 1rem) !important; }
.text-lg   { font-size: clamp(1rem, 1.4vw, 1.125rem) !important; }
.text-xl   { font-size: clamp(1.15rem, 1.6vw, 1.25rem) !important; }
.text-2xl  { font-size: clamp(1.3rem, 1.8vw, 1.5rem) !important; }
.text-3xl  { font-size: clamp(1.5rem, 2vw, 1.875rem) !important; }
.text-4xl  { font-size: clamp(1.75rem, 2.5vw, 2.25rem) !important; }
.text-5xl  { font-size: clamp(2rem, 3vw, 3rem) !important; }
.text-6xl  { font-size: clamp(2.25rem, 3.5vw, 3.75rem) !important; }
.text-7xl  { font-size: clamp(2.5rem, 4vw, 4.5rem) !important; }
.text-8xl  { font-size: clamp(3rem, 5vw, 6rem) !important; }
.text-9xl  { font-size: clamp(3.5rem, 6vw, 8rem) !important; }

/* ============================
   ARBITRARY FONT SIZES
============================ */

/* Arbitrary font-size support (manual Tailwind-like) */
.text-\[5px\] { font-size: 5px !important; }
.text-\[6px\] { font-size: 6px !important; }
.text-\[7px\] { font-size: 7px !important; }
.text-\[8px\] { font-size: 8px !important; }
.text-\[9px\] { font-size: 9px !important; }
.text-\[10px\]  { font-size: 10px !important; }
.text-\[12px\]  { font-size: 12px !important; }
.text-\[14px\]  { font-size: 14px !important; }
.text-\[16px\]  { font-size: 16px !important; }
.text-\[18px\]  { font-size: 18px !important; }
.text-\[20px\]  { font-size: 20px !important; }
.text-\[24px\]  { font-size: 24px !important; }
.text-\[28px\]  { font-size: 28px !important; }
.text-\[32px\]  { font-size: 32px !important; }
.text-\[40px\]  { font-size: 40px !important; }
.text-\[48px\]  { font-size: 48px !important; }
.text-\[52px\]  { font-size: 52px !important; }
.text-\[60px\]  { font-size: 60px !important; }
.text-\[72px\]  { font-size: 72px !important; }

/* Arbitrary clamp example */
.text-\[clamp\(1rem\,2vw\,1\.5rem\)\] {
  font-size: clamp(1rem, 2vw, 1.5rem) !important;
}


/* ============================
   LINE HEIGHT (Tailwind-like)
============================ */
.leading-none    { line-height: 1 !important; }
.leading-tight   { line-height: 1.2 !important; }
.leading-snug    { line-height: 1.35 !important; }
.leading-normal  { line-height: 1.5 !important; }
.leading-relaxed { line-height: 1.7 !important; }
.leading-loose   { line-height: 2 !important; }


/* ============================
   FONT WEIGHT (Tailwind-like)
============================ */
.font-thin       { font-weight: 100 !important; }
.font-extralight { font-weight: 200 !important; }
.font-light      { font-weight: 300 !important; }
.font-normal     { font-weight: 400 !important; }
.font-medium     { font-weight: 500 !important; }
.font-semibold   { font-weight: 600 !important; }
.font-bold       { font-weight: 700 !important; }
.font-extrabold  { font-weight: 800 !important; }
.font-black      { font-weight: 900 !important; }


/* ============================
   LETTER SPACING (Tailwind-like)
============================ */
.tracking-tighter { letter-spacing: -0.05em !important; }
.tracking-tight   { letter-spacing: -0.025em !important; }
.tracking-normal  { letter-spacing: 0 !important; }
.tracking-wide    { letter-spacing: 0.025em !important; }
.tracking-wider   { letter-spacing: 0.05em !important; }
.tracking-widest  { letter-spacing: 0.1em !important; }


/* ============================
   TEXT TRANSFORM
============================ */
.uppercase   { text-transform: uppercase !important; }
.lowercase   { text-transform: lowercase !important; }
.capitalize  { text-transform: capitalize !important; }
.normal-case { text-transform: none !important; }


/* ============================
   FONT STYLE
============================ */
.italic   { font-style: italic !important; }
.not-italic { font-style: normal !important; }


/* ============================
   TEXT ALIGN
============================ */
.text-left   { text-align: left !important; }
.text-center { text-align: center !important; }
.text-right  { text-align: right !important; }
.text-justify { text-align: justify !important; }

/* Width */
.w-\[10px\] { width: 10px !important; }
.w-\[20px\] { width: 20px !important; }
.w-\[50\%\] { width: 50% !important; }
.w-\[250px\] { width: 250px !important; }

/* Height */
.h-\[10px\] { height: 10px !important; }
.h-\[20px\] { height: 20px !important; }
.h-\[50\%\] { height: 50% !important; }
.h-\[250px\] { height: 250px !important; }

/* Min Width */
.min-w-\[100px\] { min-width: 100px !important; }
.min-w-\[50\%\] { min-width: 50% !important; }

/* Min Height */
.min-h-\[50px\] { min-height: 50px !important; }
.min-h-\[100px\] { min-height: 100px !important; }
.min-h-\[50vh\] { min-height: 50vh !important; }

/* Max Width */
.max-w-\[100px\] { max-width: 100px !important; }
.max-w-\[250px\] { max-width: 250px !important; }
.max-w-\[50\%\] { max-width: 50% !important; }

/* Max Height */
.max-h-\[100px\] { max-height: 100px !important; }
.max-h-\[250px\] { max-height: 250px !important; }
.max-h-\[50vh\] { max-height: 50vh !important; }

/* Example you requested */
.max-h-\[90vh\] { max-height: 90vh !important; }