/* Fortress x MASYOW: penyesuaian responsif (tidak mengubah file asli MASYOW).
   Target: HP 320-430px, tablet 600-1024px, laptop 1280-1440px, monitor lebar >=1600px. */

/* --- umum --- */
html, body { max-width: 100%; overflow-x: hidden; }
img, svg, video { max-width: 100%; }
input, select, textarea, button { font-size: max(16px, 1em); }      /* cegah auto-zoom iOS */
.tscroll, .tm-wrap { -webkit-overflow-scrolling: touch; }

/* tabel lebar (Tim, KPI) selalu bisa digeser di dalam kartunya, bukan halaman */
.tm-wrap { overflow-x: auto; max-width: 100%; }

/* tombol & isian cukup besar untuk jari */
@media (pointer: coarse) {
  .btn, button, select, input[type=text], input[type=tel], input[type=search],
  input[type=date], input[type=datetime-local], input:not([type]) { min-height: 40px; }
  .btn.ico { min-width: 40px; }
}

/* badge MODE AUDITOR tidak menutupi isi: pindah ke pojok kecil */
body.r-auditor::before {
  left: auto !important; right: 12px !important; transform: none !important;
  font-size: 11px !important; padding: 3px 10px !important; opacity: .92;
}
/* layar dengan navigasi bawah (<=900px): badge di atas navigasi */
@media (max-width: 900px) {
  body.r-auditor::before { bottom: calc(92px + env(safe-area-inset-bottom)) !important; }
}

/* panel detail customer + latar gelapnya di atas bar menu atas (z-index 45),
   supaya nama/avatar di bagian atas panel tidak tertutup */
.dov { z-index: 46 !important; }
.drawer { z-index: 47 !important; }

/* form tambah/ubah data di layar lebar: muat di bawah bar navigasi, tombol simpan selalu terlihat */
@media (min-width: 761px) {
  .modal { z-index: 40 !important; padding: 16px !important; }
  .modal .formbox { max-height: calc(100vh - 32px) !important; display: flex; flex-direction: column; padding-bottom: 0 !important; }
  .modal .formbox .grid { flex: 1 1 auto; }
  .modal .formbox .actions { position: sticky; bottom: 0; background: inherit; padding: 12px 0 16px; margin-top: 12px; border-top: 1px solid var(--line, #e5e7eb); z-index: 2; }
}

/* --- HP (<= 760px) --- */
@media (max-width: 760px) {
  .main { padding-left: 12px !important; padding-right: 12px !important; }

  /* header halaman: judul + aksi dalam satu baris rapi, tombol ikon saja */
  .topbar { padding: 10px 12px !important; gap: 8px !important; }
  .topbar h1 { font-size: 18px !important; }
  .topbar .hact { width: 100%; display: grid !important; grid-template-columns: minmax(0, 1fr) auto auto auto; gap: 8px !important; }
  .topbar .hact #vwSel { max-width: none !important; width: 100%; min-width: 0; }
  .topbar .hact .bell { white-space: nowrap; }
  .topbar .tsearch { width: 100%; order: 9; }

  /* tab filter database bisa digeser */
  .tabs, .ptabs, [role=tablist] { overflow-x: auto; scrollbar-width: none; flex-wrap: nowrap !important; }
  .tabs::-webkit-scrollbar, .ptabs::-webkit-scrollbar, [role=tablist]::-webkit-scrollbar { display: none; }

  /* form tambah/ubah data: layar penuh, tombol simpan selalu terlihat */
  .modal { padding: 0 !important; align-items: stretch !important; z-index: 40 !important; }
  .modal .formbox { width: 100% !important; max-height: none !important; height: 100%; border-radius: 0 !important; padding: 16px 14px 0 !important; display: flex; flex-direction: column; }
  .modal .formbox .grid { flex: 1 1 auto; }
  .modal .formbox .actions { position: sticky; bottom: 0; background: inherit; padding: 12px 0 calc(12px + env(safe-area-inset-bottom)); margin-top: 12px; border-top: 1px solid var(--line, #e5e7eb); }

  /* kotak customer Odoo: tombol turun ke baris sendiri */
  #fxCust .fx-row { flex-wrap: wrap; }
  #fxCust .fx-row input { flex: 1 1 100%; }
  #fxCust .fx-btn { flex: 1 1 100%; min-height: 40px; }

  /* drawer detail: tombol aksi bisa digeser bila tidak muat */
  .drawer .dact, .drawer .acts { flex-wrap: wrap; }

  /* kalender follow up: sel lebih rapat */
  .cal td, .cal th { padding: 4px 2px !important; }

  /* toast di atas navigasi bawah */
  .toast { bottom: calc(84px + env(safe-area-inset-bottom)) !important; }
}

/* HP sangat kecil (<= 360px) */
@media (max-width: 360px) {
  .topbar h1 { font-size: 16px !important; }
  .side .nlabel, .side button span { font-size: 10px !important; }
}

/* --- tablet (761 - 1100px): sembunyikan kolom sekunder, filter rapi --- */
@media (min-width: 761px) and (max-width: 1100px) {
  .main { padding-left: 18px !important; padding-right: 18px !important; }
  .topbar .tsearch { flex: 1 1 260px; }
}

/* --- monitor lebar: konten tidak terlalu melebar --- */
@media (min-width: 1600px) {
  .main { max-width: 1480px; margin-left: auto !important; margin-right: auto !important; }
}

/* --- di dalam Odoo (iframe): tanpa jarak atas berlebih --- */
html.fx-embed body { padding-top: 0 !important; }

/* Login MASYOW mengikuti sesi Odoo: di dalam Odoo tidak ada tombol Keluar
   (v1.1.0 menambahkannya di Pengaturan dan menu Lainnya). Keluar dari Odoo
   juga mengakhiri akses MASYOW. Dibuka langsung di luar Odoo: tetap tampil. */
html.fx-embed #cf_out,
html.fx-embed #cf_lo,
html.fx-embed [data-v7m=out],
html.fx-embed .cfs:has(#cf_out) { display: none !important; }
