/* v16.45 · Menu, Pengaturan & Navigasi
   - Sheet Menu (HP) dikelompokkan menurut fungsi, 2 kolom
   - Navigasi desktop dikelompokkan (pemisah tipis antar grup)
   - Halaman Pengaturan: Tampilan, Akun & data, Aplikasi & sesi
   - Tema, bahasa, pasang, keluar dipindah ke Pengaturan (tombol header disembunyikan, bukan dihapus)
   Hanya lapisan tampilan; semua aksi meneruskan klik ke kontrol asli. */

/* ---------- Header: preferensi tinggal di Pengaturan (semua ukuran layar) ---------- */
#app > header.app-header #header-right-block > #btn-install,
#app > header.app-header #header-right-block > #btn-theme-toggle,
#app > header.app-header #header-right-block > #app-language,
#app > header.app-header #header-right-block > #btn-logout { display: none !important; }

/* ---------- Navigasi desktop: grup ---------- */
.ms-grp { display: inline-flex; align-items: center; gap: 4px; flex: 0 0 auto; position: relative; }
.ms-grp + .ms-grp { margin-left: 8px; padding-left: 12px; }
.ms-grp + .ms-grp::before {
  content: ''; position: absolute; left: 0; top: 50%; width: 1px; height: 18px; margin-top: -8px;
  background: rgba(255, 255, 255, .14); pointer-events: none;
}
body.light .ms-grp + .ms-grp::before { background: rgba(0, 0, 0, .14); }

/* ---------- Sheet Menu (HP) ---------- */
.npv-group { margin: 0 0 8px; }
.npv-gh {
  margin: 8px 12px 8px; font-size: 12px; font-weight: 600; letter-spacing: 0; text-transform:none;
  color: var(--text-secondary, rgba(235, 235, 245, .56));
}
body.light .npv-gh { color: rgba(0, 0, 0, .5); }
.npv-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 0 2px; }
body.npv .npv-sheet .npv-tile {
  width: auto; min-width: 0; min-height: 54px; gap: 12px; padding: 8px 12px; font-size: 15px; line-height: 1.2;
  border: 1px solid rgba(255, 255, 255, .08); background: rgba(255, 255, 255, .04); border-radius: 16px;
}
body.light.npv .npv-sheet .npv-tile { border-color: rgba(0, 0, 0, .08); background: rgba(0, 0, 0, .03); }
body.npv .npv-sheet .npv-tile > .t { white-space: normal; overflow-wrap: anywhere; }
body.npv .npv-sheet .npv-tile[aria-current="page"] { border-color: var(--accent, #C8A96A); }
body.npv .npv-sheet .npv-tile:active { background: var(--surface-pressed, rgba(255, 255, 255, .1)); }

/* ---------- Halaman Pengaturan ---------- */
.ms-card .ms-h {
  margin: 0 0 8px; font-size: 12px; font-weight: 600; letter-spacing: 0; text-transform:none;
  color: rgba(235, 235, 245, .56);
}
body.light .ms-card .ms-h { color: rgba(0, 0, 0, .5); }
.ms-lbl { font-size: 15px; font-weight: 500; color: rgba(255, 255, 255, .88); }
body.light .ms-lbl { color: rgba(0, 0, 0, .86); }
.ms-line { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; }
.ms-line + .ms-line { border-top: 1px solid rgba(255, 255, 255, .07); }
body.light .ms-line + .ms-line { border-top-color: rgba(0, 0, 0, .08); }
.ms-sub { margin-top: 8px; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .07); }
body.light .ms-sub { border-top-color: rgba(0, 0, 0, .08); }
.ms-sub-first { margin-top: 0; padding-top: 8px; border-top: 0; }

.ms-seg { display: inline-flex; padding: 4px; gap: 2px; border-radius: 16px; background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08); }
body.light .ms-seg { background: rgba(0, 0, 0, .04); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .07); }
.ms-seg button {
  min-width: 84px; height: 40px; padding: 0 16px; border: 0; border-radius: 12px; background: transparent;
  color: rgba(235, 235, 245, .62); font: inherit; font-size: 13px; font-weight: 500; cursor: pointer;
}
body.light .ms-seg button { color: rgba(0, 0, 0, .58); }
.ms-seg button[aria-pressed="true"] { background: rgba(255, 255, 255, .13); color: var(--accent-text, #C8A96A); font-weight: 600; }
body.light .ms-seg button[aria-pressed="true"] { background: #fff; color: var(--accent-text, #7E5F17); box-shadow: 0 1px 3px rgba(60, 48, 20, .18); }
.ms-sel {
  min-height: 40px; padding: 0 12px; border-radius: 12px; font: inherit; font-size: 17px; color: rgba(255, 255, 255, .9);
  background: rgba(255, 255, 255, .06); border: 1px solid rgba(200, 169, 106, .28);
}
body.light .ms-sel { color: rgba(0, 0, 0, .88); background: rgba(0, 0, 0, .03); border-color: rgba(126, 95, 23, .35); }

.ms-row {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 52px;
  padding: 0; border: 0; border-top: 1px solid rgba(255, 255, 255, .07); background: transparent; text-align: left;
  font: inherit; cursor: pointer; -webkit-tap-highlight-color: transparent;
}
body.light .ms-row { border-top-color: rgba(0, 0, 0, .08); }
.ms-row[hidden] { display: none; }
.ms-row:active { opacity: .6; }
.ms-go { font-size: 22px; line-height: 1; color: rgba(235, 235, 245, .4); }
body.light .ms-go { color: rgba(0, 0, 0, .35); }
.ms-danger .ms-lbl { color: #ff7a68; }
body.light .ms-danger .ms-lbl { color: #b83526; }
.ms-seg button:focus-visible, .ms-row:focus-visible, .ms-sel:focus-visible {
  outline: none; box-shadow: var(--focus-ring, 0 0 0 2px #0E0F11, 0 0 0 4px #C8A96A);
}

/* Ukuran teks (disuntik premium.js, dipindah ke kartu Tampilan): samakan bobot label dengan baris lain */
body.px #px-textsize .px-set-t { font-weight: 500; }
