/* ไอคอนของระบบ — Google Material Symbols ชุดเดียวทั้งระบบ
   โหลดให้ทุกหน้าโดย shell-navbar.js หน้าไหนก็ใช้ได้ทันที ไม่ต้องประกาศเอง

   ฝังเป็นไฟล์ในเว็บเอง (ชุดย่อยเฉพาะไอคอนที่ใช้ 6.7 KB) จึงไม่ต้องต่อเน็ตออกนอก
   โรงพยาบาล ไม่มีวูบตอนโหลด และไม่ติด CSP

   ไอคอนในชุด:
   add, arrow_back, arrow_left, arrow_right, arrow_downward, arrow_upward, attach_file, audio_file, autorenew, bar_chart, bloodtype,
   calendar_month, chat, check, check_circle, chevron_left, chevron_right, close, close_fullscreen,
   content_copy, crop, dark_mode, delete, description, download, draft, edit, expand_more, fiber_new, filter_alt, flag,
   folder_zip, groups, help, history, home_health, image, info, light_mode, link, link_off, lock, movie,
   notifications, notifications_off, open_in_full, open_in_new, person, person_add, person_remove, picture_as_pdf, print, radiology, refresh,
   schedule, search, sort, send, settings, tune, undo, admin_panel_settings,
   slideshow, subdirectory_arrow_right, table_chart, table_rows, text_decrease, text_increase, vaccines,
   visibility

   เพิ่มไอคอนใหม่: สร้างไฟล์ฟอนต์ใหม่ที่มีของเดิมครบด้วย แล้วทับไฟล์เดิม
     curl "https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined&icon_names=<รายชื่อทั้งหมด>"
   แล้วดาวน์โหลด woff2 จาก url ในผลลัพธ์ มาไว้ที่ assets/fonts/material-symbols-subset.woff2
   แล้วเพิ่มเลข ?v= ของ src ข้างล่าง ไม่งั้นเบราว์เซอร์ที่จำไฟล์เก่าไว้จะยังเห็นชื่อไอคอนเป็นตัวหนังสือ
   ถ้าเพิ่มชื่อใหม่แต่ไม่สร้างไฟล์ใหม่ ไอคอนจะกลายเป็นข้อความชื่อไอคอนบนหน้าจอ */
@font-face {
  font-family: 'Material Symbols Outlined';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('/assets/fonts/material-symbols-subset.woff2?v=12') format('woff2');
}
/* คลาส material-symbols-outlined ต้องมีเสมอ · public/system-font.css ยกเว้นคลาสนี้ไว้
   จากกฎที่บังคับฟอนต์ให้ทุก element ถ้าตั้งชื่อคลาสเอง ไอคอนจะกลายเป็นตัวอักษร */
.material-symbols-outlined {
  font-family: 'Material Symbols Outlined';
  font-weight: 400;
  font-style: normal;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}
.msh-icon {
  font-size: 1.15em;
  vertical-align: -0.18em;
}
/* ไอคอนเรียงลำดับของหัวตารางทั้งระบบ: <span class="material-symbols-outlined msh-sort-icon [is-asc|is-desc]">sort</span>
   ยังไม่เรียง = สีเทา · เรียงอยู่ = สีน้ำเงิน · น้อยไปมาก = กลับหัว */
.msh-sort-icon{font-size:18px;vertical-align:-4px;color:#98a2b3}
.msh-sort-icon.is-asc,.msh-sort-icon.is-desc{color:#176bc3}
.msh-sort-icon.is-asc{transform:scaleY(-1)}
