/* ==========================================================================
   KING FURNITURE - ENTERPRISE MOBILE UI ENHANCEMENT ENGINE
   Version: 1.0.0 (Pure Mobile Optimization - Isolated @media max-width: 899px)
   Safe Architecture: 0% Impact on Desktop (>= 900px), 100% Native App Feel on HP
   ========================================================================== */

@media (max-width: 899px) {
  /* 1. ROOT & OVERFLOW CONTROLS (Eliminasi Horizontal Drift / Goyang Samping) */
  html, body {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100vw !important;
    -webkit-text-size-adjust: 100% !important;
    touch-action: pan-y pinch-zoom !important;
  }

  .app-container {
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  .main-content {
    width: 100% !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
    padding: 10px 12px calc(80px + env(safe-area-inset-bottom, 16px)) 12px !important;
    overflow-x: hidden !important;
  }

  /* 2. COMPACT TOP HEADER & QUICK FILTERS (Mencegah Vertical Screen Hijacking) */
  .top-header {
    padding: 8px 0 !important;
    margin-bottom: 12px !important;
    gap: 8px !important;
  }

  .header-title h1 {
    font-size: 1.15rem !important;
    line-height: 1.3 !important;
  }

  .top-header > .flex-align-center {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    width: 100% !important;
  }

  .store-selector-container {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 6px 10px !important;
    box-sizing: border-box !important;
  }

  .store-selector-container select {
    flex: 1 !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 38px !important;
    font-size: 0.82rem !important;
    border-radius: 8px !important;
  }

  .cloud-sync-badge {
    padding: 4px 10px !important;
    font-size: 0.75rem !important;
  }

  .user-session-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    padding: 4px 8px !important;
    box-sizing: border-box !important;
    font-size: 0.78rem !important;
  }

  .user-session-bar .badge {
    font-size: 0.75rem !important;
    padding: 4px 8px !important;
  }

  .user-session-bar button {
    font-size: 0.75rem !important;
    padding: 4px 8px !important;
  }

  /* Filter Periode Chips: Smooth Horizontal Swipe */
  .global-filter-container {
    padding: 8px 10px !important;
    border-radius: 10px !important;
    margin-bottom: 10px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .global-filter-title {
    font-size: 0.78rem !important;
    margin-bottom: 4px !important;
  }

  .filter-chips {
    display: flex !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    gap: 4px !important;
    padding-bottom: 2px !important;
    scrollbar-width: none !important;
  }

  .filter-chips::-webkit-scrollbar {
    display: none !important;
  }

  .filter-chip {
    flex: 0 0 auto !important;
    padding: 6px 12px !important;
    font-size: 0.78rem !important;
    border-radius: 20px !important;
    min-height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* 3. METRICS CARDS (Grid 2 Kolom Rapi & Terbaca Jelas Tanpa Terpotong) */
  .metrics-grid,
  .metrics-grid.col-3,
  .metrics-grid.col-4,
  .metrics-grid.col-5,
  .metrics-grid.col-6 {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
    margin-bottom: 12px !important;
  }

  .metric-card {
    padding: 10px 10px !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
  }

  .metric-label {
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    color: var(--text-muted) !important;
  }

  .metric-value {
    font-size: 1.1rem !important;
    font-weight: 800 !important;
    margin: 4px 0 2px 0 !important;
    word-break: break-word !important;
  }

  .metric-subtext {
    font-size: 0.68rem !important;
  }

  /* 4. FORMULIR & INPUT TRANSAKSI SATU TANGAN (100% Full-Width, No Overflow) */
  .card {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    border-radius: 12px !important;
    margin-bottom: 12px !important;
    overflow: hidden !important;
  }

  .card-body {
    padding: 12px !important;
    box-sizing: border-box !important;
  }

  .form-row,
  .grid-2-col {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .form-group,
  .form-group.col-6 {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .form-control,
  .form-select,
  input[type="text"],
  input[type="number"],
  input[type="date"],
  select,
  textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 44px !important;
    font-size: 0.92rem !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
    padding: 8px 12px !important;
  }

  /* Input Barcode Scanner Gun: Zona Fokus Besar */
  #barcode-scan-input,
  #input-barcode-tx,
  input[id*="barcode"],
  input[placeholder*="Barcode"] {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 48px !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    box-sizing: border-box !important;
  }

  /* Tombol Aksi Utama: Full-Width Thumb Button, Tidak Terpotong di Tepi Kanan */
  .btn,
  button[type="submit"],
  .btn-submit-batch,
  button[onclick*="submit"],
  button[onclick*="Simpan"] {
    min-height: 46px !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    word-break: break-word !important;
    padding: 10px 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  /* Tombol Khusus Selesaikan Batch / Selesai Transaksi */
  button[onclick*="finishBatch"],
  button[onclick*="selesaikanBatch"],
  button[onclick*="submitTx"] {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 50px !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
  }

  /* 5. TABEL RESPONSIVE (Horizontal Scroll Halus & Baris Terbaca Jelas) */
  .table-responsive {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    border-radius: 8px !important;
    border: 1px solid #E2E8F0 !important;
    margin-bottom: 12px !important;
  }

  .table-responsive table {
    margin-bottom: 0 !important;
  }

  .table-responsive th,
  .table-responsive td {
    padding: 8px 8px !important;
    font-size: 0.8rem !important;
    line-height: 1.3 !important;
  }

  /* Tombol Aksi dalam Tabel: Ukuran Sentuh Nyaman (Touch-Target >= 36px) */
  .table-responsive .btn,
  .table-responsive button {
    min-height: 36px !important;
    padding: 6px 10px !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    border-radius: 6px !important;
  }

  /* 6. MODAL BOTTOM-SHEET PADA MOBILE (Mudah Dibuka & Nyaman Ditutup) */
  .modal {
    align-items: flex-end !important;
    padding: 0 !important;
  }

  .modal-content,
  .modal-dialog {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    border-radius: 20px 20px 0 0 !important;
    max-height: 90vh !important;
    display: flex !important;
    flex-direction: column !important;
    box-shadow: 0 -8px 30px rgba(0, 0, 0, 0.25) !important;
  }

  .modal-header {
    padding: 16px !important;
    border-bottom: 1px solid #E2E8F0 !important;
  }

  .modal-body {
    padding: 16px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    flex: 1 !important;
    max-height: calc(85vh - 120px) !important;
  }

  .modal-footer {
    padding: 12px 16px !important;
    border-top: 1px solid #E2E8F0 !important;
    display: flex !important;
    gap: 8px !important;
  }

  .modal-footer .btn,
  .modal-footer button {
    flex: 1 !important;
    min-height: 44px !important;
  }

  /* 7. BOTTOM NAVIGATION BAR (Tetap Presisi & Nyaman di Jempol) */
  .mobile-bottom-nav {
    display: flex !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 60px !important;
    background: #FFFFFF !important;
    border-top: 1px solid #E2E8F0 !important;
    z-index: 9999 !important;
    padding-bottom: env(safe-area-inset-bottom, 0) !important;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.05) !important;
  }

  .mobile-bottom-nav-item {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    color: #64748B !important;
    gap: 2px !important;
    cursor: pointer !important;
    text-decoration: none !important;
  }

  .mobile-bottom-nav-item.active {
    color: #EE4D2D !important;
  }

  /* 7. NATIVE CHROME-STYLE PULL-TO-REFRESH BADGE */
  #mobile-ptr-badge {
    position: fixed !important;
    top: -50px !important;
    left: 50% !important;
    transform: translate3d(-50%, 0, 0);
    width: 40px !important;
    height: 40px !important;
    background: #FFFFFF !important;
    border-radius: 50% !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.26), 0 0 1px rgba(0, 0, 0, 0.12) !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 99999999 !important;
    pointer-events: none !important;
    will-change: transform, opacity;
  }
}
