/* ── অ্যাপের ওয়েব ফন্ট — নিজের সার্ভারে (ইউজারের নির্দেশ ১৭-০৮) ───────────
   আগে চারটে পরিবারই fonts.googleapis.com থেকে নামত। তাতে তিনটে সমস্যা ছিল:
     ১) প্রতিটা পাতায় দুটো বাড়তি DNS + TLS হ্যান্ডশেক (googleapis + gstatic) —
        মোবাইল ডেটায় এটাই সবচেয়ে দামি অংশ
     ২) Google-এর CSS-টার ক্যাশ মাত্র ১ দিন (max-age=86400), অর্থাৎ রোজ অন্তত
        একবার বাইরে গিয়ে অপেক্ষা, তারপর পাতা আঁকা
     ৩) sw.js বাইরের কিছু ক্যাশ করে না (url.origin দেখে ছেড়ে দেয়) — তাই
        অফলাইনে বা দুর্বল নেটে ফন্টের কোনো সুরক্ষাই ছিল না
   এখন ফাইলগুলো assets/fonts/-এ, .htaccess-এর এক বছরের ক্যাশে পড়ে, আর
   সার্ভিস ওয়ার্কার ধরে রাখতে পারে।

   ⚠️ শুধু **bengali** ও দরকারি **latin** সাবসেট রাখা হয়েছে। cyrillic, greek,
      vietnamese, latin-ext — এগুলো এই অ্যাপে কোনোদিন লাগে না।
   ⚠️ বাংলা পরিবার দুটোর (Noto Sans Bengali, Hind Siliguri) ল্যাটিন সাবসেটও
      বাদ — ফন্ট-চেইনে ল্যাটিন অক্ষর সবসময় Oswald (লাইট থিম) বা Inter (ডার্ক
      থিম) থেকেই আসে, ওখানে পৌঁছায়ই না।
   ⚠️ unicode-range গুলো Google-এর হুবহু — এগুলোই ব্রাউজারকে বলে দেয় কোন
      অক্ষরের জন্য কোন ফাইলটা নামাতে হবে। তাই ব্যবহারকারী শুধু যা সত্যিই
      পড়ছে ততটুকুই নামে, গোটা তালিকা নয়।
   ⚠️ font-display:swap — ফন্ট নামার আগেই লেখা দেখা যায়, ফাঁকা পর্দা নয়।

   নতুন ওজন/পরিবার লাগলে assets/css/README-build.md দেখুন। */

/* ── প্রতিষ্ঠানের নামের ফন্ট: মদনমোহন (ইউজারের নির্দেশ ২৯-০৮) ────
   সাইডবারের "মেসার্স দিপু এন্টারপ্রাইজ", অ্যাপ খোলার পর্দার নামটা, আর
   ৩০-০৮ থেকে **ছাপার কাগজের নামটাও** (ইনভয়েস · স্টেটমেন্ট · রিপোর্ট —
   .coname, assets/js/app.js)। বাকি সব লেখা স্বপ্নচারীতেই।
   ⚠️ ছাপার নথি আলাদা উইন্ডো, সেখানে এই ফাইলটা সবসময় পৌঁছয় না — তাই
      ওখানকার জন্য ফেসটা আবার ঘোষণা করা আছে app.js-এর docFontFaces()-এ,
      পুরো ঠিকানাসহ। একটা বদলালে অন্যটাও দেখে নেবেন।
   ⚠️ ফাইলটা (assets/fonts/MadanMohan.woff2) প্রজেক্টে আছে (২৯-০৮-এ যোগ
      হয়েছে)। কোনো কারণে না থাকলে লেখাগুলো স্বপ্নচারীতে পড়বে, কোথাও কিছু
      ভাঙবে না (font-display:swap + চেইনের পরের নামগুলো)। */
@font-face{font-family:'MadanMohan';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/MadanMohan.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1}
@font-face{font-family:'MadanMohan';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/MadanMohan.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1}

/* ── প্রতিষ্ঠানের নামের ফন্ট: FN Mahin Dhaka Nagari (ইউজারের নির্দেশ ৩০-০৮) ──
   তিন জায়গায় একই ফন্ট, ইউজারের নির্দেশে:
     ① ছাপার কাগজ — ইনভয়েস · স্টেটমেন্ট · লেজার · প্যাড (app.js → .coname)
     ② ড্যাশবোর্ডের সাইডবার (.sb-name, নিচে)
     ③ অ্যাপ খোলার পর্দা (includes/app_splash.php → .sp-name)
   ⚠️ `.coname` দুটো নামই আঁকে — নিজের দোকানের "মেসার্স দিপু এন্টারপ্রাইজ",
      আর যে ব্র্যান্ডের কাগজ অন্য নামে যায় তার `inv_name` ("মেসার্স মোখলেস
      ট্রেডার্স")। দুটোরই সব অক্ষর এই ফন্টে আছে, যাচাই করা।
   ⚠️ **লাইসেন্স**: FontBD-র রিডমিতে ওয়েবফন্ট ব্যবহার নিষেধ — "without our
      consent or proper legal permission" ছাড়া। ইউজার জানিয়েছেন **অনুমতি
      নেওয়া আছে** (৩০-০৮), তাই বসানো হলো। অনুমতির কাগজটা সামলে রাখবেন।
   ⚠️ ছাপার নথি আলাদা উইন্ডো, সেখানে এই ফাইলটা সবসময় পৌঁছয় না — ফেসটা তাই
      app.js-এর docFontFaces()-এও পুরো ঠিকানাসহ ঘোষণা করা। একটা বদলালে
      অন্যটাও দেখে নেবেন।
   ⚠️ দুটো সংস্করণই প্রজেক্টে আছে, চালু আছে **অর্ধমাত্রা (AM)** — মাত্রার
      দাগটা ভাঙা, একটু আধুনিক চেহারা (ইউজারের বাছাই ৩০-০৮)।
        FNMahinDhakaNagariAM.woff2  ← এখন এটাই চলছে
        FNMahinDhakaNagariPM.woff2  ← পূর্ণমাত্রা, বাংলার চেনা চেহারা
      বদলাতে হলে নিচের দুটো url()-এ AM → PM করুন, আর সাথে app.js-এর
      docFontFaces()-এর নামটাও — নইলে পর্দায় এক আর কাগজে আরেক ফন্ট বসত। */
@font-face{font-family:'FNMahinDhakaNagari';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/FNMahinDhakaNagariAM.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1}
@font-face{font-family:'FNMahinDhakaNagari';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/FNMahinDhakaNagariAM.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1}

/* ── কাগজের নামের ফন্ট: আলিনুর সঙ্গীতি (ইউজারের নির্দেশ ৩০-০৮) ──────────
   lipighor.com/AlinurSanghoti.html — ইউজার নিজে বেছে দিয়েছেন। ছাপার
   কাগজের (ইনভয়েস · স্টেটমেন্ট · লেজার · প্যাড) মাথায় প্রতিষ্ঠানের নামটা
   এতে বসে — app.js-এর `.coname`।
   ⚠️ সাইডবারের নামটা (.sb-name) মদনমোহনেই থাকল — ইউজার শুধু কাগজের কথা
      বলেছেন, তাই ওদিকে হাত দেওয়া হয়নি।
   ⚠️ ছাপার নথি আলাদা উইন্ডো, সেখানে এই ফাইলটা সবসময় পৌঁছয় না — ফেসটা
      তাই app.js-এর docFontFaces()-এও পুরো ঠিকানাসহ ঘোষণা করা আছে।
      একটা বদলালে অন্যটাও দেখে নেবেন। */
@font-face{font-family:'AlinurSanghoti';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/AlinurSanghoti.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1}
@font-face{font-family:'AlinurSanghoti';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/AlinurSanghoti.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1}
/* ── বাংলা লেখার ফন্ট: আলিনুর স্বপ্নচারী (ইউজারের নির্দেশ ২৯-০৮) ──────────
   ফাইলটা আগে থেকেই assets/fonts/-এ ছিল, কিন্তু কোথাও `@font-face` লেখা
   ছিল না — তাই ব্রাউজার ওটার নামই জানত না, আর বাংলা লেখা পড়ত পরের
   ফন্টে (Noto Sans Bengali)। স্ক্রিনশটে ঠিক সেটাই দেখা যাচ্ছিল।
   ⚠️ unicode-range বাংলাতেই সীমিত — বাকি বাংলা পরিবারগুলোর হুবহু একই।
      এতে ইংরেজি অক্ষর আগের মতোই Oswald/Inter থেকে আসে, শুধু বাংলাটাই
      বদলায়; আর বাংলা **অঙ্ক** BnNum-এই থাকে, কারণ চেইনে ওটা সবার আগে।
   ⚠️ ওজন আলাদা ফাইল নেই — একটাই ফাইল ৪০০–৭০০ সব ওজনে দেওয়া হলো, তাই
      মোটা লেখা ব্রাউজারই সিন্থেটিক বোল্ড করে নেবে (আলাদা ফাইল পেলে
      এখানে যোগ করলেই হবে)। */
@font-face{font-family:'AlinurShowpnocari';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/AlinurShowpnocari.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1}
@font-face{font-family:'AlinurShowpnocari';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/AlinurShowpnocari.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1}
@font-face{font-family:'AlinurShowpnocari';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/AlinurShowpnocari.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1}
@font-face{font-family:'AlinurShowpnocari';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/AlinurShowpnocari.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1}
@font-face{font-family:'Hind Siliguri';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/hindsiliguri-400-bengali.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1}
@font-face{font-family:'Hind Siliguri';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/hindsiliguri-500-bengali.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1}
@font-face{font-family:'Hind Siliguri';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/hindsiliguri-600-bengali.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1}
@font-face{font-family:'Hind Siliguri';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/hindsiliguri-700-bengali.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/inter-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/inter-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/inter-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Noto Sans Bengali';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/notobengali-400-bengali.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1}
@font-face{font-family:'Noto Sans Bengali';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/notobengali-500-bengali.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1}
@font-face{font-family:'Noto Sans Bengali';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/notobengali-600-bengali.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1}
@font-face{font-family:'Noto Sans Bengali';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/notobengali-700-bengali.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1}
@font-face{font-family:'Oswald';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/oswald-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Oswald';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/oswald-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Oswald';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/oswald-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Oswald';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/oswald-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
