@media (max-width: 576px) {
  /* --- Safety umum --- */
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }
  * {
    box-sizing: border-box;
  }
  img,
  svg,
  canvas,
  video {
    max-width: 100%;
    height: auto;
    display: block;
  }

  body.signin-page > .d-flex {
    height: auto !important;
    min-height: auto !important;
    align-items: stretch !important; /* dari center -> stretch */
    justify-content: flex-start !important; /* dari center -> start   */
    padding-top: 16px;
    padding-bottom: 24px;
    position: relative;
    z-index: 2;
  }

  .signin-page .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 8px;
    padding-right: 8px;
  }
  .signin-page .row > [class*="col-"] {
    padding-left: 10px;
    padding-right: 10px;
    position: relative;
    z-index: 2; /* di atas dekorasi */
  }

  .signin-page .landing-icon {
    overflow: hidden;
    transform: none; /* baseline */
    position: relative;
    z-index: 2; /* di atas dekorasi */
    word-wrap: break-word;
    overflow-wrap: anywhere;
  }
  .signin-page .landing-icon h6 {
    white-space: normal !important; /* override class .text-nowrap */
    line-height: 1.25;
    margin-bottom: 0;
  }

  .signin-page .landing-icon .d-flex[style*="width:60px"] {
    width: 56px !important;
    height: 56px !important;
  }

  html,
  body {
    background-attachment: scroll !important;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
  }

  /* --- Rapikan jarak antar kartu --- */
  .row.g-4 {
    row-gap: 12px !important;
  }

  .signin-page .bg,
  .signin-page .bg-*,
  .signin-page [class*="bg-"],
  .signin-page .shape,
  .signin-page [class*="shape"],
  .signin-page .watermark,
  .signin-page .hero,
  .signin-page .hero-bg {
    z-index: 0 !important;
    pointer-events: none !important;
  }
  .signin-page *::before,
  .signin-page *::after {
    pointer-events: none !important;
  }

  .signin-page .container,
  .signin-page .row,
  .signin-page .card {
    overflow: visible !important;
  }

  .signin-page .mt-4.text-center.w-100 .btn {
    width: calc(100% - 32px);
    max-width: 420px;
  }

  .signin-page img[src*="logo-ssi-vertical.png"],
  .signin-page img[src*="streamline"],
  .signin-page img[src*="logo"] {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-top: 16px;
    margin-bottom: 20px;
    max-width: 70%; /* biar tidak terlalu besar di layar kecil */
    height: auto;
  }
}

/* Opsional: tablet kecil */
@media (min-width: 577px) and (max-width: 768px) {
  .row.g-4 {
    row-gap: 14px !important;
  }
  .signin-page .landing-icon .d-flex[style*="width:60px"] {
    width: 60px !important;
    height: 60px !important;
  }
}

/* --- Ganti background jadi putih di mobile --- */
@media (max-width: 576px){
  html, body{
    background: #ffffff !important;        /* putih polos */
    background-image: none !important;     /* hapus gambar background */
  }
}

/* Card putih terlihat di atas background putih + highlight saat aktif */
@media (max-width: 576px){

  .signin-page .landing-icon.card.in-view {
    box-shadow: 0 8px 20px rgba(0,0,0,0.18) !important;
    transform: translateY(-2px);
  }

  /* kalau sebelumnya ada .shadow-sm atau .border-0 dari Bootstrap, ini menimpa */
  .signin-page .landing-icon.card.shadow-sm { 
    box-shadow: 0 2px 8px rgba(0,0,0,0.10) !important; 
  }
  .signin-page .landing-icon.card.border-0 { 
    border: 1px solid rgba(0,0,0,0.06) !important; 
  }

  /* pastikan gambar ikon tetap kebaca saat tidak aktif */
  .signin-page .landing-icon.card:not(.in-view) img { 
    filter: none !important; 
  }

}

/* --- Tampilan 1 kolom tapi tidak full width --- */
@media (max-width: 576px) {
  /* ubah grid jadi 1 kolom */
  .signin-page .row > [class*="col-"] {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    display: flex;
    justify-content: center;
  }

  .signin-page .landing-icon {
    width: 60%;
    max-width: 380px;
    margin: 0 auto;
  }

  .signin-page .row.g-4 {
    max-height: calc(100dvh - 220px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 20px;
  }

  .signin-page .row.g-4 {
    padding-left: 12px;
    padding-right: 12px;
  }
}

@media (max-width:576px) {
    .signin-page .mt-4.text-center.w-100 {
    margin-top: 20px !important;
    margin-bottom: 60px !important;
    padding-bottom: 35px;
    display: flex;
    justify-content: center;
  }

  .signin-page .mt-4.text-center.w-100 .btn {
    width: 60%;
    max-width: 380px;
    border-radius: 8px;
    display: flex;
    justify-content: center;
  }
}

@media (max-width: 576px){
  .signin-page .landing-icon{
    transition: background-color .25s ease, box-shadow .25s ease, transform .25s ease, color .25s ease;
    will-change: transform, box-shadow, background-color, color;
  }
  .signin-page .landing-icon.in-view{
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(0,0,0,.12);
    color:#fff;
  }
  .signin-page .landing-icon.in-view img{ filter: brightness(0) invert(1); }

  /* warna per card saat aktif (samakan dengan hover yang sudah ada) */
  .signin-page #project-app.in-view{ background:#ff7000; }
  .signin-page #approval-app.in-view{ background:#ba1e2c; }
  .signin-page #hris-app.in-view{ background:#07676d; }
  .signin-page #inventory-app.in-view{ background:#754c28; }
  .signin-page #finance-app.in-view{ background:#006838; }
  .signin-page #pos-app.in-view{ background:#ec1c24; }
  .signin-page #relationship-app.in-view{ background:#b5548e; }
  .signin-page #sales-app.in-view{ background:#f6921e; }
  .signin-page #warehouse-app.in-view{ background:#231f20; }
  .signin-page #website-app.in-view{ background:#2e3191; }
}

/* HEADER MOBILE */
@media (max-width: 576px){

  /* overflow horizontal */
  html, body { overflow-x: hidden !important; }
  .navbar, .app-header, .container-fluid { max-width: 100% !important; }

  /* logo Product */
  #dashboard-link{
    display: flex !important;
    align-items: center;
    width: auto !important;
    padding: 4px 0;
  }
  #dashboard-link img,
  #dashboard-link .dashboard-image{
    display: block !important;
    height: 28px !important;    /* sesuaikan 24–32px */
    width: auto !important;
    max-width: none !important;
  }

  /* Apus logo streamline  */
  .navbar .d-flex.w-auto img[alt*="Streamline"],
  .navbar .d-flex.w-auto img[src*="streamline"],
  .navbar .d-flex.w-auto img[src*="logo-ssi"],
  .app-header .d-flex.w-auto img[alt*="Streamline"],
  .app-header .d-flex.w-auto img[src*="streamline"],
  .app-header .d-flex.w-auto img[src*="logo-ssi"]{
    display: none !important;
  }

  /* 3) Pusatkan/rapikan title */
  .page-title, .navbar .navbar-brand, .app-header .title, h4.fw-bold{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 50vw;            
    margin: 0 8px;
    display: inline-block;
    vertical-align: middle;
  }

  .navbar [data-feather="globe"],
  .navbar [data-feather="clock"],
  .navbar [data-feather="bell"],
  .app-header [data-feather="globe"],
  .app-header [data-feather="clock"],
  .app-header [data-feather="bell"]{
    display: none !important;
  }
  /* varian fontawesome (jika ada) */
  .navbar .fa-globe, .navbar .fa-clock, .navbar .fa-bell,
  .app-header .fa-globe, .app-header .fa-clock, .app-header .fa-bell{
    display:none !important;
  }
  /* sembunyikan teks nama user di sebelah avatar */
  .navbar .user-name, .app-header .user-name,
  .navbar .profile-name, .app-header .profile-name,
  .navbar .d-flex.w-auto .text-ellipsis{
    display:none !important;
  }

  /* 5) Pastikan hanya avatar yang tetap terlihat di sisi kanan */
  .navbar .d-flex.w-auto, .app-header .d-flex.w-auto{
    gap: 8px;
  }
  .navbar .d-flex.w-auto .avatar,
  .navbar .d-flex.w-auto .avatar-container,
  .app-header .d-flex.w-auto .avatar,
  .app-header .d-flex.w-auto .avatar-container{
    display: inline-flex !important;
    align-items: center;
  }


  .navbar, .app-header{
    padding-left: 12px !important;
    padding-right: 12px !important;
    min-height: 48px;
  }
}

/* ===== Tampilan Header Mobile ===== */
@media (max-width: 576px) {

  /* Hilangkan logo Streamline di mobile */
  #dashboard-link {
    display: none !important;
  }

  /* Tata posisi logo produk dan nama produk */
  .navbar .brand-logo {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important; /* jarak antara logo dan teks */
  }

  .navbar .brand-logo img.dashboard-image {
    width: 36px !important;
    height: 36px !important;
    object-fit: contain;
  }

  .navbar .brand-logo h4 {
    font-size: 16px !important;
    font-weight: 600;
    color: #000 !important;
    margin: 0;
  }

  /* Rapikan tata letak kanan-kiri */
  .navbar .container-fluid {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 8px 16px !important;
    overflow: hidden;
  }

  /* Sembunyikan ikon yang tidak perlu */
  #topbar-language-dropdown,
  #reminder-icon,
  #web-notification-icon,
  .navbar .user-name {
    display: none !important;
  }

  /* Pastikan tidak ada scroll horizontal */
  html, body {
    overflow-x: hidden !important;
  }
}

/* ===== Mobile Bottom Navbar (dinamis dari sidebar) ===== */
@media (max-width: 576px){
  #mobile-bottom-bar{
    border-top:1px solid #eee;
    background:#fff;
  }

  /* Bar: pakai padding bawah lebih tinggi agar FAB pas center */
  #mobile-bottom-bar .sb-bottom-bar{
    position:relative;
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    padding:10px 20px 20px; /* ⬅️ dinaikkan dari 20px ke 34px */
  }

  /* Grup kiri/kanan: sedikit diturunkan */
  #mobile-bottom-bar .sb-group-left{
    display:flex;
    align-items:center;
    gap:35px;                 /* sedikit lebih rapat */
    transform: translateY(6px); /* ⬅️ turunkan dikit */
  }
  #mobile-bottom-bar .sb-group-right{
    display:flex;
    padding-right: 10px;
    align-items:center;
    gap:45px;                 /* sedikit lebih rapat */
    transform: translateY(6px); /* ⬅️ turunkan dikit */
  }

  #mobile-bottom-bar .sb-item{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    color:#4a5568;
    font-size:9px;
    line-height:1.1;
    gap:2px;
  }
  #mobile-bottom-bar .sb-item .icon{ width:22px; height:22px; }
  #mobile-bottom-bar .sb-item:active{ color:var(--app-accent); }
  #mobile-bottom-bar .sb-item:active .icon{ color:var(--app-accent); }

/* FAB button container */
#mobile-bottom-bar .sb-fab {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 20px; /* atur lebih kecil kalau mau lebih turun */
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: #fff;
  border: 4px solid #f7f7f7;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.14);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
}

/* tombol hamburger di dalam FAB */
#mobile-bottom-bar .sb-fab .sidebar-toggle-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* ✅ center mutlak di FAB */
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  text-align: center;
}

/* ikon hamburger */
#mobile-bottom-bar .sb-fab .icon,
#mobile-bottom-bar .sb-fab svg.feather-menu {
  display: block;
  width: 32px;  /* ukuran ikon */
  height: 32px;
  color: #4a5568;
  margin: auto; /* biar tetap center meskipun di dalam flex */
  stroke-width: 2;
}

}

/* ===== Bottom sheet (mobile) ===== */
@media (max-width: 576px){
  /* Sembunyikan sidebar kiri di mobile */
  .sidebar{ display:none !important; }

  .msheet{ position:fixed; inset:0; z-index:1050; }
  .msheet.d-none{ display:none; }

  .msheet__scrim{
    position:absolute; inset:0; background:rgba(0,0,0,.28);
    opacity:0; transition:opacity .25s ease;
  }
  .msheet.open .msheet__scrim{ opacity:1; }

  .msheet__panel{
    position:absolute; left:0; right:0; bottom:0;
    background:#fff; border-top-left-radius:18px; border-top-right-radius:18px;
    box-shadow:0 -10px 30px rgba(0,0,0,.18);
    transform:translateY(100%); transition:transform .28s ease;
    max-height:80dvh; display:flex; flex-direction:column;
  }
  .msheet.open .msheet__panel{ transform:translateY(0); }

  .msheet__handle{ width:44px; height:5px; border-radius:999px; background:#e5e7eb; margin:10px auto 6px; }
  .msheet__header{ display:flex; align-items:center; justify-content:space-between; padding:8px 16px 6px; border-bottom:1px solid #f1f1f1; }
  .msheet__close{ border:0; background:transparent; padding:6px; }
  .msheet__content{ overflow:auto; -webkit-overflow-scrolling:touch; padding:6px 8px 16px; }

  .msheet__list{ list-style:none; margin:0; padding:0; }
  .msheet__item{ display:flex; align-items:center; gap:12px; padding:12px 10px; border-radius:12px; }
  .msheet__item:hover{ background:#f7f7f7; }
  .msheet__item .icon{ width:22px; height:22px; color:#374151; }
  .msheet__item span{ font-size:15px; color:#111827; }

  .msheet__sub{ list-style:none; margin:4px 0 6px 34px; padding:0; }
  .msheet__sub a{ display:flex; align-items:center; gap:8px; padding:8px 8px; border-radius:10px; color:#374151; text-decoration:none; }
  .msheet__sub a:hover{ background:#f7f7f7; }

  body.ms-noscroll{ overflow:hidden; }
}






