|
|
|
@ -1,5 +1,49 @@ |
|
|
|
@import "tailwindcss"; |
|
|
|
|
|
|
|
/* ─── App fonts matching Flutter Najm & Hosseinieh ─── */ |
|
|
|
@font-face { |
|
|
|
font-family: 'Faminela'; |
|
|
|
src: url('/assets/fonts/faminela.ttf') format('truetype'); |
|
|
|
font-weight: 400 900; |
|
|
|
font-style: normal; |
|
|
|
font-display: swap; |
|
|
|
} |
|
|
|
@font-face { |
|
|
|
font-family: 'YekanX'; |
|
|
|
src: url('/assets/fonts/YekanXFaNum-R.ttf') format('truetype'); |
|
|
|
font-weight: 400 900; |
|
|
|
font-style: normal; |
|
|
|
font-display: swap; |
|
|
|
} |
|
|
|
@font-face { |
|
|
|
font-family: 'YekanXArabic'; |
|
|
|
src: url('/assets/fonts/ArabicYekanXRegular.ttf') format('truetype'); |
|
|
|
font-weight: 400 900; |
|
|
|
font-style: normal; |
|
|
|
font-display: swap; |
|
|
|
} |
|
|
|
@font-face { |
|
|
|
font-family: 'NastaliqUrdu'; |
|
|
|
src: url('/assets/fonts/NotoNastaliqUrdu.ttf') format('truetype'); |
|
|
|
font-weight: 400 900; |
|
|
|
font-style: normal; |
|
|
|
font-display: swap; |
|
|
|
} |
|
|
|
@font-face { |
|
|
|
font-family: 'Segoeui'; |
|
|
|
src: url('/assets/fonts/segoeui.ttf') format('truetype'); |
|
|
|
font-weight: 400 500; |
|
|
|
font-style: normal; |
|
|
|
font-display: swap; |
|
|
|
} |
|
|
|
@font-face { |
|
|
|
font-family: 'Segoeui'; |
|
|
|
src: url('/assets/fonts/SegoeUIBold.ttf') format('truetype'); |
|
|
|
font-weight: 600 900; |
|
|
|
font-style: normal; |
|
|
|
font-display: swap; |
|
|
|
} |
|
|
|
|
|
|
|
:root { |
|
|
|
--background: #F5F5F5; |
|
|
|
--default-page-background-image: url("/assets/images/home-Checkups-List.svg"); |
|
|
|
@ -8,6 +52,10 @@ |
|
|
|
--safe-left: env(safe-area-inset-left, 0px); |
|
|
|
--safe-right: env(safe-area-inset-right, 0px); |
|
|
|
|
|
|
|
/* Default body font follows Flutter AppTheme: Segoeui for non-RTL app locales */ |
|
|
|
--marriage-font-sans: 'Segoeui', 'YekanXArabic', 'YekanX', system-ui, sans-serif; |
|
|
|
--marriage-font-brand: 'Faminela', 'Segoeui', 'YekanXArabic', 'YekanX', system-ui, sans-serif; |
|
|
|
|
|
|
|
/* ─── Semantic Tokens (Light) ─── */ |
|
|
|
--semantic-neutral-bg: #f1f5f9; |
|
|
|
--semantic-neutral-text: #475569; |
|
|
|
@ -72,16 +120,44 @@ |
|
|
|
--semantic-ai-icon: #c4b5fd; |
|
|
|
} |
|
|
|
|
|
|
|
html[lang='fa'], |
|
|
|
body[data-lang='fa'], |
|
|
|
.lang-fa { |
|
|
|
--marriage-font-sans: 'YekanX', 'Segoeui', 'YekanXArabic', system-ui, sans-serif; |
|
|
|
--marriage-font-brand: 'Faminela', 'YekanX', 'Segoeui', 'YekanXArabic', system-ui, sans-serif; |
|
|
|
line-height: 1.5; |
|
|
|
} |
|
|
|
|
|
|
|
html[lang='ar'], |
|
|
|
body[data-lang='ar'], |
|
|
|
.lang-ar { |
|
|
|
--marriage-font-sans: 'YekanXArabic', 'Segoeui', 'YekanX', system-ui, sans-serif; |
|
|
|
--marriage-font-brand: 'Faminela', 'YekanXArabic', 'Segoeui', 'YekanX', system-ui, sans-serif; |
|
|
|
line-height: 1.5; |
|
|
|
} |
|
|
|
|
|
|
|
html[lang='ur'], |
|
|
|
body[data-lang='ur'], |
|
|
|
.lang-ur, |
|
|
|
html[lang='ks'], |
|
|
|
body[data-lang='ks'], |
|
|
|
.lang-ks { |
|
|
|
--marriage-font-sans: 'NastaliqUrdu', 'Segoeui', 'YekanXArabic', 'YekanX', system-ui, sans-serif; |
|
|
|
--marriage-font-brand: 'Faminela', 'NastaliqUrdu', 'Segoeui', 'YekanXArabic', 'YekanX', system-ui, sans-serif; |
|
|
|
line-height: 2; |
|
|
|
} |
|
|
|
|
|
|
|
@theme inline { |
|
|
|
--color-background: var(--background); |
|
|
|
--color-foreground: var(--foreground); |
|
|
|
--font-sans: var(--font-segoeui), "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; |
|
|
|
--font-sans: var(--marriage-font-sans); |
|
|
|
--font-brand: var(--marriage-font-brand); |
|
|
|
--font-faminela: var(--marriage-font-brand); |
|
|
|
--font-mono: var(--font-geist-mono); |
|
|
|
--font-arabic: var(--font-yekanx-arabic), var(--font-segoeui), "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; |
|
|
|
--font-persian: var(--font-yekanx), var(--font-yekanx-arabic), var(--font-segoeui), "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; |
|
|
|
--font-urdu: var(--font-nastaliq-urdu), var(--font-yekanx-arabic), var(--font-segoeui), "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; |
|
|
|
--font-ryling: var(--font-segoeui), "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; |
|
|
|
--font-faminela: var(--font-faminela-local), "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; |
|
|
|
--font-arabic: 'YekanXArabic', 'Segoeui', 'YekanX', system-ui, sans-serif; |
|
|
|
--font-persian: 'YekanX', 'Segoeui', 'YekanXArabic', system-ui, sans-serif; |
|
|
|
--font-urdu: 'NastaliqUrdu', 'Segoeui', 'YekanXArabic', 'YekanX', system-ui, sans-serif; |
|
|
|
--font-ryling: var(--marriage-font-sans); |
|
|
|
|
|
|
|
--color-semantic-neutral-bg: var(--semantic-neutral-bg); |
|
|
|
--color-semantic-neutral-text: var(--semantic-neutral-text); |
|
|
|
@ -190,6 +266,27 @@ textarea, |
|
|
|
user-select: text !important; |
|
|
|
} |
|
|
|
|
|
|
|
html, |
|
|
|
body, |
|
|
|
button, |
|
|
|
input, |
|
|
|
optgroup, |
|
|
|
select, |
|
|
|
textarea, |
|
|
|
h1, |
|
|
|
h2, |
|
|
|
h3, |
|
|
|
h4, |
|
|
|
h5, |
|
|
|
h6, |
|
|
|
p, |
|
|
|
span, |
|
|
|
a, |
|
|
|
label, |
|
|
|
.app-shell { |
|
|
|
font-family: var(--marriage-font-sans); |
|
|
|
} |
|
|
|
|
|
|
|
body { |
|
|
|
width: 100%; |
|
|
|
height: 100%; |
|
|
|
@ -198,49 +295,26 @@ body { |
|
|
|
justify-content: center; |
|
|
|
overflow: hidden; |
|
|
|
color: var(--foreground); |
|
|
|
font-family: var(--font-segoeui), "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; |
|
|
|
overscroll-behavior: none; |
|
|
|
font-size: 14px; |
|
|
|
word-spacing: 0.25px; |
|
|
|
} |
|
|
|
|
|
|
|
/* ─── Multi-Language Typography matching Flutter Najm AppTheme ─── */ |
|
|
|
/* 1. Arabic (ar) -> Flutter yekanxArabic (ArabicYekanXRegular.ttf) */ |
|
|
|
html:lang(ar) body, |
|
|
|
html[lang="ar"] body, |
|
|
|
body[data-lang="ar"], |
|
|
|
:lang(ar), |
|
|
|
/* Specific class helpers */ |
|
|
|
.font-arabic { |
|
|
|
font-family: var(--font-yekanx-arabic), var(--font-segoeui), "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; |
|
|
|
font-family: 'YekanXArabic', 'Segoeui', 'YekanX', system-ui, sans-serif; |
|
|
|
} |
|
|
|
|
|
|
|
/* 2. Persian (fa) -> Flutter yekanx (YekanXFaNum-R.ttf) */ |
|
|
|
html:lang(fa) body, |
|
|
|
html[lang="fa"] body, |
|
|
|
body[data-lang="fa"], |
|
|
|
:lang(fa), |
|
|
|
.font-persian { |
|
|
|
font-family: var(--font-yekanx), var(--font-yekanx-arabic), var(--font-segoeui), "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; |
|
|
|
} |
|
|
|
|
|
|
|
/* 3. Urdu (ur) & Kashmiri (ks) -> Flutter NastaliqUrdu (NotoNastaliqUrdu.ttf) */ |
|
|
|
html:lang(ur) body, |
|
|
|
html[lang="ur"] body, |
|
|
|
body[data-lang="ur"], |
|
|
|
:lang(ur), |
|
|
|
html:lang(ks) body, |
|
|
|
html[lang="ks"] body, |
|
|
|
body[data-lang="ks"], |
|
|
|
:lang(ks), |
|
|
|
.font-urdu { |
|
|
|
font-family: var(--font-nastaliq-urdu), var(--font-yekanx-arabic), var(--font-segoeui), "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; |
|
|
|
font-family: 'YekanX', 'Segoeui', 'YekanXArabic', system-ui, sans-serif; |
|
|
|
} |
|
|
|
|
|
|
|
/* 4. Global / Latin / Cyrillic / Asian languages -> Flutter Segoeui */ |
|
|
|
html:not([lang="ar"]):not([lang="fa"]):not([lang="ur"]):not([lang="ks"]) body { |
|
|
|
font-family: var(--font-segoeui), "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; |
|
|
|
.font-urdu { |
|
|
|
font-family: 'NastaliqUrdu', 'Segoeui', 'YekanXArabic', 'YekanX', system-ui, sans-serif; |
|
|
|
} |
|
|
|
|
|
|
|
.font-faminela { |
|
|
|
font-family: var(--font-faminela-local), var(--font-segoeui), "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; |
|
|
|
font-family: var(--marriage-font-brand); |
|
|
|
} |
|
|
|
|
|
|
|
.app-shell { |
|
|
|
|