/* Prevent flash of unauthenticated login screen on refresh (F5) */
    html.is-authenticated #loginScreenView {
      display: none !important;
    }
    html.is-authenticated #mainAppWrapper {
      display: flex !important;
    }
    /* Font Awesome Integration & Font Shield */
    i[class*="fa-"] {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      line-height: 1;
      vertical-align: middle;
    }
    i[class*="fa-"].w-3 { font-size: 0.75rem; width: 0.75rem; height: 0.75rem; }
    i[class*="fa-"].w-3\.5, i[class*="fa-"][class*="w-3.5"] { font-size: 0.875rem; width: 0.875rem; height: 0.875rem; }
    i[class*="fa-"].w-4 { font-size: 1rem; width: 1rem; height: 1rem; }
    i[class*="fa-"].w-5 { font-size: 1.25rem; width: 1.25rem; height: 1.25rem; }
    i[class*="fa-"].w-6 { font-size: 1.5rem; width: 1.5rem; height: 1.5rem; }
    i[class*="fa-"].w-8 { font-size: 2rem; width: 2rem; height: 2rem; }

    /* ปรับขนาดตัวอักษรมาตรฐานให้อ่านง่าย สบายตาทั้งระบบ */
    html {
      font-size: 16px;
      -webkit-text-size-adjust: 100%;
    }
    body {
      font-size: 15px;
      line-height: 1.55;
      background-color: #F3F4F6;
    }
    /* ปรับใช้ฟอนต์ Prompt ทั้งระบบ */
    html, body, button, input, select, textarea, optgroup, option {
      font-family: 'Prompt', sans-serif !important;
    }
    *, *::before, *::after {
      font-family: 'Prompt', sans-serif;
    }
    /* ป้องกันฟอนต์ Prompt ทับ Font Awesome */
    .fa, .fa-solid, .fa-regular, .fa-brands,
    .fa::before, .fa-solid::before, .fa-regular::before, .fa-brands::before,
    .fas, .far, .fab, .fas::before, .far::before, .fab::before,
    i[class*="fa-"], i[class*="fa-"]::before, i[class*="fa-"]::after {
      font-family: "Font Awesome 6 Free" !important;
      font-style: normal !important;
      font-variant: normal !important;
      text-rendering: auto !important;
      line-height: 1 !important;
    }
    .fa-solid, .fa-solid::before, .fas, .fas::before,
    i.fa-solid, i.fa-solid::before {
      font-weight: 900 !important;
    }
    .fa-regular, .fa-regular::before, .far, .far::before,
    i.fa-regular, i.fa-regular::before {
      font-weight: 400 !important;
    }
    .fa-brands, .fa-brands::before, .fab, .fab::before,
    i.fa-brands, i.fa-brands::before {
      font-family: "Font Awesome 6 Brands" !important;
      font-weight: 400 !important;
    }
    /* ยกระดับขนาดตัวอักษร micro text ให้อ่านง่าย สบายตา ชัดเจน */
    [class*="text-[9px]"], [class*="text-[10px]"] {
      font-size: 12.5px !important;
      line-height: 1.25rem !important;
    }
    [class*="text-[11px]"] {
      font-size: 13.5px !important;
      line-height: 1.35rem !important;
    }
    .calendar-day-cell {
      min-height: 110px;
      transition: all 0.15s ease-in-out;
    }
    .calendar-day-cell:hover {
      box-shadow: 0 1px 2px rgba(16,24,40,.04), 0 8px 24px -10px rgba(16,24,40,.10);
      border-color: rgba(17,19,23,.20);
    }
    /* Design System v2: Soft Ink & Cobalt */
    .shadow-soft  { box-shadow: 0 1px 2px rgba(16,24,40,.04), 0 8px 24px -10px rgba(16,24,40,.10); }
    .shadow-float { box-shadow: 0 2px 6px rgba(16,24,40,.05), 0 24px 48px -16px rgba(16,24,40,.18); }
    .shadow-press { box-shadow: 0 1px 2px rgba(16,24,40,.10); }
    /* legacy alias (v1) — ใช้ shadow-soft/float/press แทน */
    .shadow-glow-cobalt,
    .shadow-glow-amber,
    .shadow-glow-coral {
      box-shadow: 0 1px 2px rgba(16,24,40,.10);
    }
    .shadow-card-ambient {
      box-shadow: 0 1px 2px rgba(16,24,40,.04), 0 8px 24px -10px rgba(16,24,40,.10);
    }
    .shadow-card-floating {
      box-shadow: 0 2px 6px rgba(16,24,40,.05), 0 24px 48px -16px rgba(16,24,40,.18);
    }
    /* Custom Scrollbar */
    ::-webkit-scrollbar {
      width: 6px;
      height: 6px;
    }
    ::-webkit-scrollbar-track {
      background: #F3F4F6;
    }
    ::-webkit-scrollbar-thumb {
      background: #D9DBE1;
      border-radius: 9999px;
    }
    ::-webkit-scrollbar-thumb:hover {
      background: #B9BCC4;
    }
