/* ==========================================================================
   دليل الاستخدام — شاشات التطبيق المرسومة (m-) وتخطيط صفحات الدليل (g-)
   المقاسات داخل الشاشة بوحدة dp على عرض 360، كما في التطبيق.
   ========================================================================== */

/* ------------------------------------------------------------------ الشاشة */
.m-screen {
  --m-bg: #F4EAD3; --m-on: #3D3328; --m-onv: #5C4E3D; --m-p: #2A5A4A; --m-sec: #704D36; --m-err: #B3261E;
  --fbg: var(--m-bg);
  position: relative; width: 360px; height: 780px; overflow: hidden;
  font-family: 'Cairo', 'Segoe UI', Tahoma, sans-serif; font-size: 14px; line-height: 1.4;
  color: var(--m-on); text-align: right; direction: rtl; -webkit-font-smoothing: antialiased;
}
.m-screen *, .m-screen *::before, .m-screen *::after { box-sizing: border-box; }
.m-screen b, .m-screen strong { font-weight: 700; }
.m-screen p { margin: 0; }
.m-screen .mi { flex: none; display: block; }
.m-status { position: relative; z-index: 6; height: 28px; display: flex; justify-content: space-between; align-items: center; padding: 0 20px; font-size: 13px; font-weight: 600; }
.m-sicons { display: flex; gap: 5px; align-items: center; }
.m-body { position: absolute; top: 28px; left: 0; right: 0; bottom: 0; overflow: hidden; }
.m-navbar { position: absolute; left: 0; right: 0; bottom: 0; height: 18px; display: flex; justify-content: center; align-items: center; z-index: 30; pointer-events: none; }
.m-navbar i { width: 108px; height: 4px; border-radius: 2px; background: rgba(0, 0, 0, .3); }
.m-fixedbar { position: absolute; top: 0; left: 0; right: 0; padding-top: 28px; background: #fff; z-index: 5; }
.has-appbar .m-scroll { padding-top: 64px; }
.m-appbar { height: 64px; display: flex; align-items: center; padding: 0 4px; gap: 2px; }
.m-appbar-title { flex: 1; font-size: 20px; font-weight: 700; padding: 0 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.m-appbar-act { display: flex; align-items: center; gap: 2px; }
.m-ib { width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; border-radius: 50%; flex: none; }
.m-save { color: var(--m-p); font-weight: 700; font-size: 16px; padding: 8px 14px; }
.primary { color: var(--m-p); }
.m-muted { color: var(--m-onv); font-size: 12px; }
.m-muted.c { text-align: center; display: block; }
.m-small { font-size: 12px; }
.m-sep { height: 1px; background: rgba(0, 0, 0, .08); }
.m-ringbox { position: relative; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.m-ringbox svg { position: absolute; inset: 0; }
.m-ringin { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.1; }

/* ------------------------------------------------------------------ الرئيسية */
.m-hbar { display: flex; justify-content: space-between; align-items: center; padding: 10px 16px; }
.m-hbar-id { display: flex; align-items: center; gap: 10px; min-width: 0; }
.m-avatar { width: 44px; height: 44px; border-radius: 50%; flex: none; display: flex; align-items: center; justify-content: center; font-size: 22px; background: radial-gradient(circle, rgba(42, 90, 74, .2), rgba(42, 90, 74, .05)); border: 1px solid rgba(42, 90, 74, .2); }
.m-hname { font-size: 20px; font-weight: 800; padding: 6px 4px; white-space: nowrap; display: flex; align-items: center; gap: 6px; }
.m-hbar-act { display: flex; gap: 8px; align-items: center; }
.m-drop, .m-gear { position: relative; width: 38px; height: 38px; border-radius: 50%; overflow: hidden; display: flex; align-items: center; justify-content: center; background: rgba(250, 248, 245, .55); border: 1px solid rgba(42, 90, 74, .1); }
.m-drop > i { position: absolute; left: 0; right: 0; bottom: 0; background: rgba(42, 90, 74, .18); }
.m-drop.full { border-color: rgba(42, 90, 74, .45); }
.m-drop.full > i { background: rgba(42, 90, 74, .28); }
.m-drop-ic { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.m-drop b { position: relative; font-size: 14px; font-weight: 800; color: var(--m-p); }
.m-selbar { height: 56px; background: rgba(42, 90, 74, .25); display: flex; align-items: center; justify-content: space-between; padding: 0 16px; color: #122C23; }
.m-selbar-l { display: flex; align-items: center; gap: 8px; }
.m-selbar b { font-size: 16px; }
.m-selall { display: flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 700; padding: 6px 8px; }

.m-pcard { position: relative; margin: 4px 16px 8px; padding: 6px 16px; border-radius: 16px; background: rgba(42, 90, 74, .1); border: 1px solid rgba(42, 90, 74, .12); }
.m-pcard-tog { position: absolute; top: 0; left: 6px; width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; z-index: 1; }
.m-prow { display: flex; align-items: center; height: 80px; }
.m-pinfo { flex: 1; padding-inline-start: 10px; padding-inline-end: 20px; display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.m-pct { font-size: 13px; color: var(--m-p); }
.m-pdate { font-size: 12px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.m-preport { font-size: 10px; color: var(--m-onv); display: flex; align-items: center; gap: 4px; }
.m-preport b { color: var(--m-p); }
.m-pbar { height: 3.5px; border-radius: 2px; background: rgba(0, 0, 0, .08); overflow: hidden; margin-top: 3px; }
.m-pbar > i { display: block; height: 100%; background: var(--m-p); border-radius: 2px; }
.m-pbar.thick { height: 6px; border-radius: 3px; }
.m-days { height: 80px; padding-top: 2px; overflow: hidden; }
.m-days-h { font-size: 10px; font-weight: 700; color: var(--m-onv); margin: 0 4px 4px; }
.m-days-row { display: flex; gap: 8px; }
.m-mday { width: 52px; flex: none; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 4px 0; border-radius: 10px; background: rgba(250, 248, 245, .9); border: .8px solid rgba(0, 0, 0, .3); }
.m-mday b { font-size: 12px; line-height: 1.2; }
.m-mday small { font-size: 8px; color: var(--m-onv); white-space: nowrap; line-height: 1.2; }
.m-mday.sel { background: rgba(42, 90, 74, .28); border: 1.2px solid var(--m-p); }
.m-mday.sel b { color: var(--m-p); }

.m-lhead { display: flex; justify-content: space-between; align-items: center; padding: 4px 16px; }
.m-lhead > b { font-size: 16px; }
.m-tbtn { display: flex; align-items: center; gap: 4px; color: var(--m-p); font-size: 14px; font-weight: 500; padding: 6px 8px; border-radius: 20px; }
.m-voice { padding: 2px 16px 6px; font-size: 14px; color: var(--m-onv); }
.m-close-entry { margin: 4px 16px 8px; border: 1px solid rgba(0, 0, 0, .25); border-radius: 14px; text-align: center; padding: 8px; font-weight: 700; color: var(--m-p); }
.m-chips { display: flex; gap: 8px; padding: 2px 16px 8px; overflow: hidden; white-space: nowrap; }
.m-chip { flex: none; display: inline-flex; align-items: center; gap: 4px; height: 32px; padding: 0 12px; border-radius: 8px; border: 1px solid rgba(0, 0, 0, .25); font-size: 12px; font-weight: 500; }
.m-chip.sel { background: rgba(42, 90, 74, .25); border-color: transparent; color: #122C23; }

.m-list { padding: 0 4px; }
.m-hc { display: flex; align-items: center; min-height: 50px; padding: 5px 8px; margin: 4px 0; border-radius: 14px; background: #fff; border: 1px solid rgba(0, 0, 0, .14); }
.m-hc.done { opacity: .5; background: rgba(250, 248, 245, .4); }
.m-hc.dim { opacity: .5; background: rgba(250, 248, 245, .45); border-color: rgba(0, 0, 0, .1); }
.m-hc.sel { background: rgba(42, 90, 74, .2); border-color: var(--m-p); opacity: 1; }
.m-hc.drag { transform: scale(1.03); box-shadow: 0 10px 24px rgba(0, 0, 0, .22); position: relative; z-index: 2; }
.m-hc.running { box-shadow: 0 0 0 2px rgba(76, 175, 80, .35); }
.m-cbar { width: 3px; height: 28px; border-radius: 1.5px; margin-inline-start: 2px; margin-inline-end: 8px; flex: none; }
.m-selc { width: 24px; height: 24px; flex: none; border-radius: 50%; border: 2px solid rgba(0, 0, 0, .15); margin-inline-start: 4px; margin-inline-end: 12px; display: flex; align-items: center; justify-content: center; }
.m-selc.on { background: var(--m-p); border-color: var(--m-p); }
.m-hmain { flex: 1; min-width: 0; padding-inline-end: 8px; }
.m-htitle { display: flex; align-items: center; gap: 4px; }
.m-hemoji { font-size: 18px; line-height: 1; padding-inline-end: 2px; }
.m-hname2 { font-size: 16px; line-height: 20px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.m-hc.done .m-hname2 { text-decoration: line-through; color: rgba(92, 78, 61, .6); }
.m-plan { display: inline-block; margin-top: 2px; font-size: 10px; color: var(--m-sec); background: rgba(112, 77, 54, .14); padding: 0 5px; border-radius: 4px; }
.m-hact { display: flex; align-items: center; gap: 8px; flex: none; }
.m-play { width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 50%; }
.m-tog { width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; }
.m-pill { display: flex; align-items: center; height: 40px; padding: 0 4px; border-radius: 100px; background: rgba(250, 248, 245, .6); border: 1px solid rgba(61, 51, 40, .1); }
.m-dec { width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; }
.m-val { display: flex; align-items: center; gap: 3px; padding: 0 4px; }
.m-val b { font-size: 13px; white-space: nowrap; }
.m-val small { font-size: 9px; line-height: 1; }
.m-inc { width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; overflow: hidden; flex: none; }
.m-other { margin: 20px 16px 4px; padding: 10px 12px; border-radius: 12px; background: rgba(250, 248, 245, .55); display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 500; color: rgba(92, 78, 61, .75); }
.m-fab { position: absolute; bottom: 26px; left: 50%; margin-left: -27px; width: 54px; height: 54px; border-radius: 50%; background: var(--m-p); display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 12px rgba(0, 0, 0, .28); z-index: 8; }
.m-pastday { position: absolute; left: 24px; right: 24px; bottom: 92px; height: 48px; border-radius: 24px; background: rgba(255, 255, 255, .92); border: .5px solid rgba(42, 90, 74, .2); box-shadow: 0 2px 6px rgba(0, 0, 0, .15); display: flex; align-items: center; justify-content: space-between; padding: 0 16px; z-index: 7; }
.m-pastday span { display: flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 700; color: var(--m-p); }
.m-pastday b { font-size: 10px; font-weight: 800; color: var(--m-p); padding: 4px 6px; }
.m-selactions { position: absolute; left: 0; right: 0; bottom: 0; padding: 10px 16px 24px; background: #fff; box-shadow: 0 -4px 16px rgba(0, 0, 0, .12); display: flex; justify-content: space-evenly; z-index: 9; }
.m-selactions span { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 6px 12px; color: var(--m-p); }
.m-selactions .err { color: var(--m-err); }
.m-selactions b { font-size: 12px; }
.m-empty { display: flex; flex-direction: column; align-items: center; padding: 48px 16px; text-align: center; }
.m-empty p { margin-top: 12px; font-size: 16px; font-weight: 500; color: var(--m-onv); }
.m-obtn { margin-top: 20px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid rgba(0, 0, 0, .25); border-radius: 14px; padding: 9px 20px; color: var(--m-p); font-weight: 600; }
.m-empty small { margin-top: 8px; font-size: 12px; color: rgba(92, 78, 61, .75); }

/* ------------------------------------------------------------------ النوافذ */
.m-scrim { position: absolute; inset: 0; background: rgba(0, 0, 0, .32); z-index: 20; }
.m-scrim.light { background: rgba(0, 0, 0, .05); }
.m-dialog { --fbg: #F8F3EA; position: absolute; left: 22px; right: 22px; top: 50%; transform: translateY(-50%); background: #F8F3EA; border-radius: 28px; padding: 22px 22px 14px; z-index: 21; box-shadow: 0 8px 28px rgba(0, 0, 0, .22); }
.m-dialog.center { text-align: center; }
.m-dicon { display: flex; justify-content: center; margin-bottom: 10px; }
.m-dtitle { font-size: 20px; font-weight: 700; margin-bottom: 12px; line-height: 1.35; }
.m-dbody { font-size: 14px; color: var(--m-onv); line-height: 1.6; }
.m-dacts { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; flex-wrap: wrap; }
.m-dbtn { padding: 9px 14px; border-radius: 20px; font-size: 14px; font-weight: 600; color: var(--m-p); }
.m-dbtn.filled { background: var(--m-p); color: #fff; }
.m-dbtn.danger { background: var(--m-err); color: #fff; }
.m-dp { margin: 4px 0 8px !important; font-size: 14px; color: var(--m-onv); }
.m-field { position: relative; flex: 1; min-width: 0; min-height: 56px; margin-top: 6px; padding: 16px 14px 12px; border: 1px solid rgba(0, 0, 0, .38); border-radius: 4px; }
.m-field.focus { border: 2px solid var(--m-p); }
.m-field label { position: absolute; top: -9px; inset-inline-start: 10px; padding: 0 4px; background: var(--fbg); font-size: 12px; color: var(--m-onv); line-height: 1.4; white-space: nowrap; }
.m-field.focus label { color: var(--m-p); }
.m-fval { font-size: 16px; color: var(--m-on); padding-inline-end: 26px; min-height: 22px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.m-field[style*="min-height"] .m-fval { white-space: normal; }
.m-ph { color: rgba(92, 78, 61, .55); }
.m-ftrail { position: absolute; inset-inline-end: 10px; top: 50%; transform: translateY(-50%); display: flex; }
.m-switch { position: relative; flex: none; width: 52px; height: 32px; border-radius: 16px; border: 2px solid #79747E; background: #E7E0EC; }
.m-switch i { position: absolute; top: 6px; inset-inline-start: 6px; width: 16px; height: 16px; border-radius: 50%; background: #79747E; }
.m-switch.on { background: var(--m-p); border-color: var(--m-p); }
.m-switch.on i { width: 24px; height: 24px; top: 2px; inset-inline-start: 22px; background: #fff; }
.m-sheet { --fbg: #ECE4CE; position: absolute; left: 0; right: 0; bottom: 0; background: #ECE4CE; border-radius: 24px 24px 0 0; z-index: 21; padding: 0 0 30px; box-shadow: 0 -4px 20px rgba(0, 0, 0, .15); }
.m-handle { display: block; width: 32px; height: 4px; border-radius: 2px; background: rgba(61, 51, 40, .4); margin: 14px auto 6px; }
.m-sheet-c { padding: 12px 20px 0; display: flex; flex-direction: column; align-items: center; gap: 14px; }
.m-sheet-ic { width: 56px; height: 56px; border-radius: 50%; background: rgba(42, 90, 74, .18); display: flex; align-items: center; justify-content: center; }
.m-sheet-t { font-size: 22px; font-weight: 700; text-align: center; }
.m-sheet-t.primary { color: var(--m-p); }
.m-sheet-p { margin-top: -6px !important; text-align: center; color: var(--m-onv); font-size: 14px; }
.m-typecard { width: 100%; display: flex; align-items: center; gap: 12px; padding: 16px; border-radius: 16px; background: rgba(250, 248, 245, .6); border: 1px solid rgba(0, 0, 0, .08); }
.m-typecard b { display: block; font-size: 16px; }
.m-typecard small { display: block; font-size: 12px; color: var(--m-onv); }
.m-typeic { width: 40px; height: 40px; border-radius: 50%; background: rgba(42, 90, 74, .15); display: flex; align-items: center; justify-content: center; flex: none; }
.m-dur { display: flex; flex-direction: column; align-items: center; color: var(--m-p); line-height: 1.05; }
.m-dur b { font-size: 54px; font-weight: 900; }
.m-dur small { font-size: 14px; font-weight: 700; opacity: .8; }
.m-slider { position: relative; width: 95%; height: 4px; border-radius: 2px; background: rgba(42, 90, 74, .15); margin: 10px 0; }
.m-slider i { position: absolute; inset-inline-start: 0; top: 0; bottom: 0; background: var(--m-p); border-radius: 2px; }
.m-slider span { position: absolute; top: -8px; width: 20px; height: 20px; border-radius: 50%; background: var(--m-p); }
.m-schips { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.m-schip { display: inline-flex; align-items: center; gap: 4px; height: 32px; padding: 0 12px; border-radius: 8px; border: 1px solid rgba(0, 0, 0, .12); font-size: 12px; font-weight: 700; color: var(--m-onv); }
.m-schip.sel { background: rgba(42, 90, 74, .25); border-color: transparent; color: #122C23; }
.m-schip.alt { background: rgba(112, 77, 54, .14); border-color: transparent; color: #2E1C11; }
.m-sheet-btns { display: flex; gap: 10px; width: 100%; margin-top: 4px; }
.m-sheet-btns .m-btn { flex: 1.7; }
.m-sheet-btns .m-btn.out { flex: 1; }
.m-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; background: var(--m-p); color: #fff; font-weight: 700; font-size: 15px; border-radius: 14px; padding: 11px 16px; border: 1.2px solid transparent; white-space: nowrap; }
.m-btn.out { background: transparent; color: var(--m-p); border-color: rgba(0, 0, 0, .25); }
.m-btn.full { width: 100%; }
.m-btn.big { padding: 14px 20px; font-size: 16px; }
.m-btn.sm { padding: 6px 12px; font-size: 12px; border-radius: 16px; }
.m-btn.danger { background: var(--m-err); }
.m-tlink { color: var(--m-p); font-weight: 700; font-size: 14px; padding: 6px 0; display: inline-block; }
.m-tlink.sm { font-size: 13px; padding: 2px 0; }
.m-snack { position: absolute; left: 16px; right: 16px; display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-radius: 20px; background: #33302B; color: #F6EFE3; z-index: 25; box-shadow: 0 6px 18px rgba(0, 0, 0, .3); }
.m-ci-emoji { font-size: 22px; }
.m-ci { flex: 1; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.m-ci small { font-size: 11px; opacity: .75; }
.m-ci b { font-size: 14px; }
.m-ci span { font-size: 13px; line-height: 1.5; }
.m-undo { font-weight: 800; color: #B9E3CF; font-size: 13px; white-space: nowrap; }

/* ------------------------------------------------------------------ نموذج العادة */
.m-form { padding: 16px; display: flex; flex-direction: column; gap: 18px; }
.m-typebar { display: flex; justify-content: space-between; align-items: center; padding: 10px 12px; border-radius: 12px; background: rgba(112, 77, 54, .16); }
.m-typebar span { display: flex; flex-direction: column; }
.m-typebar small { font-size: 11px; color: var(--m-onv); }
.m-typebar b { font-size: 16px; }
.m-namerow { display: flex; align-items: center; gap: 8px; }
.m-emojibtn { width: 52px; height: 52px; flex: none; border-radius: 12px; background: rgba(42, 90, 74, .13); border: 1px solid rgba(0, 0, 0, .12); display: flex; align-items: center; justify-content: center; font-size: 24px; margin-top: 6px; }
.m-swcard { --fbg: #fff; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px; border-radius: 12px; background: #fff; border: 1px solid rgba(0, 0, 0, .12); }
.m-swcard.col { flex-direction: column; align-items: stretch; }
.m-swrow { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.m-swcard b { display: block; font-size: 14px; }
.m-swcard small { display: block; font-size: 12px; color: var(--m-onv); line-height: 1.5; }
.m-row2 { display: flex; gap: 12px; align-items: flex-start; }
.m-catrow { align-items: center; }
.m-colorbtn { width: 48px; height: 48px; border-radius: 50%; border: 1px solid #888; flex: none; margin-top: 6px; }
.m-coach { padding: 12px; border-radius: 12px; background: rgba(255, 255, 255, .5); font-size: 12px; color: var(--m-onv); line-height: 1.6; }
.m-optcard { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 12px; background: #fff; border: 1px solid rgba(0, 0, 0, .12); }
.m-optic { width: 40px; height: 40px; border-radius: 50%; background: rgba(42, 90, 74, .2); display: flex; align-items: center; justify-content: center; flex: none; }
.m-optic.sec { background: rgba(112, 77, 54, .2); }
.m-optt { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.m-optt b { font-size: 14px; }
.m-optt small { font-size: 12px; color: var(--m-onv); }
.m-optt em { font-style: normal; font-weight: 600; color: var(--m-p); }
.m-optt em.sec { color: var(--m-sec); }
.m-warn { padding: 14px; border-radius: 12px; background: rgba(249, 222, 220, .55); border: 1px solid rgba(179, 38, 30, .3); display: flex; flex-direction: column; gap: 8px; }
.m-warn > b { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #410E0B; }
.m-warn > small { font-size: 12px; color: var(--m-onv); line-height: 1.5; }
.m-warnrow { display: flex; justify-content: space-between; align-items: center; font-size: 14px; color: #410E0B; }
.m-warnrow i { font-style: normal; background: var(--m-err); color: #fff; font-size: 12px; padding: 4px 14px; border-radius: 16px; }
.m-msgs { --fbg: #fff; display: flex; flex-direction: column; gap: 4px; padding: 12px; border-radius: 12px; background: #fff; border: 1px solid rgba(0, 0, 0, .12); }
.m-msgs > b { font-size: 14px; }
.m-msgs > small { font-size: 12px; color: var(--m-onv); }
.m-how { margin: 0; padding-inline-start: 18px; font-size: 12px; color: var(--m-onv); line-height: 1.6; }
.m-msgrow { display: flex; align-items: center; gap: 6px; }
.m-lbl { font-size: 12px; font-weight: 500; }
.m-fchips { display: flex; gap: 6px; flex-wrap: wrap; }
.m-fchip { display: inline-flex; align-items: center; gap: 3px; height: 32px; padding: 0 10px; border-radius: 8px; border: 1px solid rgba(0, 0, 0, .25); font-size: 12px; }
.m-fchip.sel { background: rgba(112, 77, 54, .2); border-color: transparent; }
.m-menu { position: absolute; left: 16px; right: 16px; background: #F8F3EA; border-radius: 6px; box-shadow: 0 6px 18px rgba(0, 0, 0, .22); z-index: 21; padding: 8px 0; }
.m-menu span { display: block; padding: 12px 16px; font-size: 15px; }
.m-menu span.sel { background: rgba(0, 0, 0, .06); }
.m-radio { display: flex; align-items: center; gap: 10px; padding: 7px 0; font-size: 14px; color: var(--m-on); }
.m-radio i { width: 20px; height: 20px; border-radius: 50%; border: 2px solid #79747E; flex: none; position: relative; }
.m-radio.on i { border-color: var(--m-p); }
.m-radio.on i::after { content: ''; position: absolute; inset: 3px; border-radius: 50%; background: var(--m-p); }
.m-numbox { display: inline-block; min-width: 34px; text-align: center; border: 1px solid rgba(0, 0, 0, .38); border-radius: 6px; padding: 0 6px; margin: 0 2px; }
.m-daygrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.m-daygrid span { border: 1px solid rgba(0, 0, 0, .2); border-radius: 10px; padding: 8px 0; text-align: center; font-size: 13px; }
.m-daygrid span.on { background: var(--m-p); color: #fff; border-color: var(--m-p); }
.m-colors { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; justify-items: center; }
.m-colors span { width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.m-colors span.on { box-shadow: 0 0 0 3px #F8F3EA, 0 0 0 5px var(--m-on); }
.m-emojis { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.m-emojis span { height: 44px; border-radius: 10px; background: rgba(42, 90, 74, .08); display: flex; align-items: center; justify-content: center; font-size: 24px; }
.m-emojis span.on { background: rgba(42, 90, 74, .25); box-shadow: inset 0 0 0 2px var(--m-p); }
.m-emojis.sm { grid-template-columns: repeat(6, 1fr); }
.m-emojis.sm span { height: 38px; font-size: 20px; }
.m-checks { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; }
.m-checks span { display: flex; align-items: center; gap: 8px; font-size: 14px; padding: 4px 0; color: var(--m-on); }
.m-checks i { width: 20px; height: 20px; border-radius: 4px; border: 2px solid #79747E; display: flex; align-items: center; justify-content: center; }
.m-checks span.on i { background: var(--m-p); border-color: var(--m-p); }
.m-time { display: flex; align-items: center; justify-content: center; gap: 6px; margin-bottom: 14px; color: var(--m-on); }
.m-time b { font-size: 40px; font-weight: 500; padding: 0 10px; border-radius: 8px; background: rgba(0, 0, 0, .06); line-height: 1.4; }
.m-time b.on { background: rgba(42, 90, 74, .25); color: #122C23; }
.m-time b:nth-child(2) { background: none; padding: 0; }
.m-ampm { display: flex; flex-direction: column; border: 1px solid rgba(0, 0, 0, .38); border-radius: 8px; overflow: hidden; margin-left: 8px; }
.m-ampm i { font-style: normal; font-size: 12px; padding: 4px 8px; }
.m-ampm i.on { background: rgba(112, 77, 54, .25); }
.m-dial { position: relative; width: 200px; height: 200px; margin: 0 auto; border-radius: 50%; background: rgba(0, 0, 0, .06); direction: ltr; }
.m-dial span { position: absolute; transform: translate(-50%, -50%); width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 14px; z-index: 1; color: var(--m-on); }
.m-dial span.on { background: var(--m-p); color: #fff; }
.m-hand { position: absolute; left: 50%; top: 50%; width: 2px; height: 66px; margin-left: -1px; margin-top: -66px; background: var(--m-p); transform-origin: 50% 100%; }

/* ------------------------------------------------------------------ نوافذ خاصة */
.m-sugg { display: flex; flex-direction: column; }
.m-sugg span { display: flex; align-items: center; gap: 10px; padding: 7px 2px; border-bottom: 1px solid rgba(0, 0, 0, .05); color: var(--m-on); }
.m-sugg i { width: 20px; height: 20px; border-radius: 4px; border: 2px solid #79747E; display: flex; align-items: center; justify-content: center; flex: none; }
.m-sugg span.on i { background: var(--m-p); border-color: var(--m-p); }
.m-sugg em { font-style: normal; font-size: 18px; }
.m-sugg b { flex: 1; font-size: 14px; font-weight: 600; }
.m-sugg small { font-size: 11px; color: var(--m-onv); }
.m-ddmenu { position: absolute; top: 92px; left: 14px; width: 280px; background: #fff; border-radius: 20px; border: 1px solid rgba(42, 90, 74, .1); box-shadow: 0 8px 24px rgba(0, 0, 0, .18); z-index: 21; overflow: hidden; }
.m-ddhead { display: flex; align-items: center; gap: 12px; padding: 12px 16px 0; }
.m-ddic { width: 40px; height: 40px; border-radius: 50%; background: rgba(42, 90, 74, .1); display: flex; align-items: center; justify-content: center; flex: none; }
.m-ddhead b { display: block; font-size: 16px; font-weight: 800; }
.m-ddhead small { font-size: 11px; color: var(--m-onv); }
.m-ddtoday { display: flex; justify-content: space-between; padding: 14px 16px 6px; font-size: 12px; color: var(--m-onv); }
.m-ddtoday b { color: var(--m-on); }
.m-ddmenu > .m-pbar { margin: 0 16px 12px; }
.m-ddrow { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-top: 1px solid rgba(0, 0, 0, .06); }
.m-ddrow > span:not(.m-fcards) { flex: 1; }
.m-ddrow b { display: block; font-size: 14px; }
.m-ddrow small { display: block; font-size: 11px; color: var(--m-onv); line-height: 1.45; }
.m-fcards { display: flex; gap: 3px; align-items: center; }
.m-fcards i { width: 18px; height: 22px; border-radius: 4px; background: rgba(42, 90, 74, .12); border: 1px solid rgba(42, 90, 74, .3); display: flex; align-items: center; justify-content: center; }
.m-wisdom { position: absolute; left: 18px; right: 18px; top: 50%; transform: translateY(-50%); background: #261D15; border: 2px solid #FFD700; border-radius: 24px; padding: 24px; color: #F3E7D3; text-align: center; z-index: 21; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.m-wtag { font-size: 12px; color: #FFD700; border: 1px solid rgba(255, 215, 0, .4); border-radius: 12px; padding: 2px 10px; }
.m-wisdom > b { font-size: 18px; }
.m-wisdom p { font-size: 18px; line-height: 1.7; }
.m-wisdom small { opacity: .7; }
.m-wbtn { margin-top: 8px; background: #FFD700; color: #261D15; font-weight: 700; border-radius: 14px; padding: 10px 20px; }
.m-break { position: absolute; left: 20px; right: 20px; top: 50%; transform: translateY(-50%); background: #fff; border-radius: 24px; padding: 24px; text-align: center; z-index: 21; display: flex; flex-direction: column; align-items: center; gap: 6px; }
.m-bic { font-size: 44px; }
.m-break > b { font-size: 20px; color: var(--m-p); }
.m-break p { font-size: 15px; font-weight: 700; }
.m-break em { font-style: normal; color: var(--m-onv); }
.m-break small { color: var(--m-onv); font-size: 13px; margin-bottom: 8px; }

/* ------------------------------------------------------------------ المؤقت */
.m-timer { display: flex; flex-direction: column; align-items: center; padding: 26px 24px; gap: 14px; }
.m-tnum { font-size: 48px; font-weight: 800; direction: ltr; }
.m-tctrl { display: flex; align-items: center; gap: 24px; }
.m-tsmall { width: 56px; height: 56px; border-radius: 50%; background: rgba(0, 0, 0, .05); display: flex; align-items: center; justify-content: center; }
.m-tbig { width: 76px; height: 76px; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 12px rgba(0, 0, 0, .2); }
.m-tstate { font-size: 14px; color: var(--m-onv); }
.m-trule { font-size: 16px; font-weight: 700; }

/* ------------------------------------------------------------------ صفحة العادة والبطاقات */
.m-detail { padding: 12px 16px; display: flex; flex-direction: column; gap: 12px; }
.m-why { padding: 12px 16px; border-radius: 14px; display: flex; flex-direction: column; }
.m-why small { font-size: 11px; color: var(--m-onv); }
.m-why b { font-size: 15px; }
.m-card { --fbg: #fff; background: #fff; border-radius: 14px; padding: 14px 16px; border: 1px solid rgba(0, 0, 0, .06); display: flex; flex-direction: column; gap: 6px; }
.m-card.soft { background: rgba(42, 90, 74, .08); }
.m-ct { font-size: 15px; font-weight: 700; color: var(--m-on); }
.m-ct.out { padding: 4px 2px 0; }
.m-stat { display: flex; align-items: center; gap: 10px; padding: 3px 0; font-size: 13px; }
.m-stat em { flex: 1; font-style: normal; color: var(--m-onv); }
.m-rescue { background: #E7F3F8; border: 1px solid #9CCFE3; border-radius: 14px; padding: 14px; display: flex; flex-direction: column; gap: 6px; }
.m-rescue small { color: #36505c; font-size: 12px; line-height: 1.5; }
.m-rescue .m-btn { align-self: flex-start; background: #2a6f8a; }
.m-bars { display: flex; align-items: flex-end; justify-content: space-between; height: 100px; padding-top: 8px; gap: 4px; }
.m-bars span { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 4px; flex: 1; height: 100%; }
.m-bars i { width: 18px; border-radius: 5px 5px 2px 2px; }
.m-bars small { font-size: 10px; color: var(--m-onv); white-space: nowrap; }
.m-bars.tall { height: 150px; }
.m-heat { display: grid; grid-template-columns: repeat(21, 1fr); gap: 3px; }
.m-heat i { aspect-ratio: 1; border-radius: 2px; }
.m-sbar { position: relative; height: 26px; border-radius: 8px; background: rgba(0, 0, 0, .05); overflow: hidden; display: flex; align-items: center; margin: 2px 0; }
.m-sbar i { position: absolute; inset-inline-start: 0; top: 0; bottom: 0; opacity: .85; border-radius: 8px; }
.m-sbar b { position: relative; padding: 0 10px; font-size: 12px; color: #fff; text-shadow: 0 1px 2px rgba(0, 0, 0, .35); }
.m-cal { background: #fff; border-radius: 8px; padding: 16px; }
.m-cal-t { color: var(--m-p); font-size: 16px; font-weight: 600; margin-bottom: 10px; }
.m-cal-nav { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.m-cal-nav > svg:first-child { transform: none !important; }
.m-cal-nav b { font-size: 14px; }
.m-cal-h, .m-cal-g { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; text-align: center; }
.m-cal-h span { font-size: 10px; color: var(--m-onv); }
.m-cal-g span { position: relative; aspect-ratio: 1; display: flex; align-items: center; justify-content: center; border-radius: 50%; font-size: 12px; }
.m-cal-g span.fut { opacity: .35; }
.m-cal-g span.today { box-shadow: inset 0 0 0 1.5px var(--m-p); }
.m-cal-g span i { position: absolute; bottom: 2px; width: 4px; height: 4px; border-radius: 50%; background: currentColor; }
.m-cal-g span em { position: absolute; top: -3px; inset-inline-end: -1px; font-style: normal; font-size: 9px; }
.m-yesno { display: flex; gap: 8px; }
.m-yesno span { flex: 1; text-align: center; padding: 10px; border-radius: 12px; border: 1px solid rgba(0, 0, 0, .25); font-weight: 700; color: var(--m-on); }
.m-yesno span.on { background: var(--m-p); color: #fff; }

/* ------------------------------------------------------------------ الإحصائيات */
.m-dhead { display: flex; justify-content: space-between; align-items: center; padding: 14px 22px 10px; }
.m-dhead b { display: block; font-size: 24px; font-weight: 600; color: var(--m-p); }
.m-dhead small { font-size: 13px; color: var(--m-onv); }
.m-dhead i { font-style: normal; width: 44px; height: 44px; border-radius: 50%; background: rgba(112, 77, 54, .2); display: flex; align-items: center; justify-content: center; font-size: 20px; }
.m-seg { display: flex; gap: 4px; margin: 6px 16px 14px; padding: 4px; border-radius: 16px; background: rgba(250, 248, 245, .6); overflow: hidden; }
.m-seg span { padding: 9px 12px; border-radius: 12px; font-size: 13px; font-weight: 700; color: var(--m-onv); white-space: nowrap; }
.m-seg span.on { background: var(--m-p); color: #fff; }
.m-dcontent { padding: 0 16px 20px; display: flex; flex-direction: column; gap: 10px; }
.m-streakcard { display: flex; align-items: center; gap: 10px; background: #fff; border-radius: 14px; padding: 10px 12px; border: 1px solid rgba(0, 0, 0, .06); }
.m-sce { width: 40px; height: 40px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 20px; flex: none; }
.m-scn { flex: 1; min-width: 0; }
.m-scn b { display: block; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.m-scn small { font-size: 11px; color: var(--m-onv); }
.m-scv { display: flex; flex-direction: column; align-items: center; }
.m-scv small { font-size: 10px; color: var(--m-onv); white-space: nowrap; }
.m-scv b { font-size: 13px; white-space: nowrap; }
.m-scact { padding: 4px; }
.m-plancard { display: flex; flex-direction: column; gap: 6px; padding: 10px; border-radius: 12px; background: rgba(42, 90, 74, .06); }
.m-plancard small { color: var(--m-onv); font-size: 12px; }
.m-planrow { display: flex; justify-content: space-between; font-size: 12px; }
.m-planrow em { font-style: normal; }
.m-quote { margin: 4px 0 !important; padding: 10px 12px; background: #fff; border-radius: 10px; font-size: 14px; font-weight: 600; border-inline-start: 3px solid var(--m-p); }
.m-ul { margin: 0; padding-inline-start: 18px; font-size: 13px; color: var(--m-onv); line-height: 1.7; }
.m-g2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.m-g2 span { display: flex; flex-direction: column; background: rgba(0, 0, 0, .035); border-radius: 10px; padding: 8px 10px; }
.m-g2 small { font-size: 11px; color: var(--m-onv); }
.m-g2 b { font-size: 16px; }
.m-g2 b.up { color: #2E7D32; }
.m-earn { display: flex; align-items: center; gap: 8px; font-size: 13px; padding: 6px 0; border-bottom: 1px dashed rgba(0, 0, 0, .1); }
.m-earn span { flex: 1; }
.m-earn small { color: var(--m-onv); }
.m-earn b { color: var(--m-p); }
.m-earn.sum { border: 0; font-weight: 700; }
.m-level { display: flex; align-items: center; gap: 10px; }
.m-lvic { font-size: 30px; }
.m-level b { display: block; }
.m-level small { color: var(--m-onv); font-size: 12px; }
.m-badges { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.m-badges span { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 8px 2px; border-radius: 12px; background: rgba(0, 0, 0, .04); filter: grayscale(1); opacity: .5; }
.m-badges span.on { filter: none; opacity: 1; background: rgba(192, 138, 62, .12); }
.m-badges i { font-style: normal; font-size: 22px; }
.m-badges small { font-size: 10px; text-align: center; line-height: 1.2; }
.m-libq { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 8px 0; border-bottom: 1px solid rgba(0, 0, 0, .06); font-size: 13px; }
.m-libq i { font-style: normal; color: #C08A3E; font-size: 16px; }

/* ------------------------------------------------------------------ التقرير والإغلاق */
.m-verdict { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 8px 0; }
.m-vpct { font-size: 34px; font-weight: 800; color: var(--m-p); }
.m-verdict .m-ringin small { font-size: 12px; color: var(--m-onv); }
.m-vchip { background: rgba(42, 90, 74, .12); color: var(--m-p); font-weight: 700; padding: 6px 14px; border-radius: 16px; }
.m-res { display: flex; justify-content: space-between; align-items: center; background: #fff; border-radius: 12px; padding: 12px 14px; font-size: 14px; }
.m-res b { font-size: 13px; color: var(--m-onv); }
.m-res b.ok { color: var(--m-p); }
.m-res.dim { background: rgba(255, 255, 255, .5); flex-direction: column; align-items: flex-start; }
.m-res.dim small { color: var(--m-onv); font-size: 12px; }
.m-close { min-height: 730px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 30px; color: #EEF2F7; text-align: center; }
.m-close .m-btn { background: #E9D9A6; color: #1f2a3a; }
.m-close .m-btn.out { background: transparent; color: #EEF2F7; border-color: rgba(255, 255, 255, .4); }
.m-close .m-tlink { color: #cfd8e3; }
.m-moon, .m-bigemoji { font-size: 64px; line-height: 1.2; }
.m-close-t { font-size: 26px; font-weight: 800; }
.m-close p { font-size: 16px; opacity: .9; }
.m-close .m-muted { color: #cfd8e3; font-size: 14px; }
.m-close-prog { opacity: .7; }
.m-close-btns { display: flex; gap: 12px; width: 100%; }
.m-close-btns .m-btn { flex: 1; }

/* ------------------------------------------------------------------ الإعدادات */
.m-shead { position: absolute; top: 28px; left: 0; right: 0; z-index: 5; background: var(--m-bg); }
.m-setbar { height: 56px; display: flex; align-items: center; gap: 4px; padding: 0 4px; }
.m-setbar b { font-size: 22px; }
.m-tabs { display: flex; border-bottom: 1px solid rgba(0, 0, 0, .1); }
.m-tabs span { flex: 1; text-align: center; padding: 12px 0; font-size: 12px; font-weight: 500; color: var(--m-onv); position: relative; white-space: nowrap; }
.m-tabs span.on { color: var(--m-p); font-weight: 700; }
.m-tabs span.on::after { content: ''; position: absolute; left: 14%; right: 14%; bottom: 0; height: 3px; border-radius: 3px 3px 0 0; background: var(--m-p); }
.has-tabs .m-scroll { padding: 104px 16px 20px; display: flex; flex-direction: column; gap: 8px; }
.m-brand { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 16px; background: rgba(42, 90, 74, .07); border-radius: 16px; text-align: center; }
.m-logo { width: 80px; height: 80px; border-radius: 50%; background: rgba(42, 90, 74, .12); display: flex; align-items: center; justify-content: center; font-size: 40px; }
.m-logo.big { width: 110px; height: 110px; font-size: 56px; }
.m-brand b { font-size: 20px; }
.m-brand em { font-style: normal; color: var(--m-p); font-size: 14px; }
.m-brand small { color: var(--m-onv); font-size: 11px; }
.m-sh { display: flex; align-items: center; gap: 8px; padding: 10px 4px 2px; color: var(--m-p); }
.m-sh b { font-size: 15px; }
.m-sh.err { color: var(--m-err); }
.m-profrow { display: flex; align-items: center; gap: 10px; }
.m-profrow b { flex: 1; font-size: 16px; }
.m-opts { display: flex; gap: 8px; }
.m-opts span { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 10px 4px; border-radius: 12px; border: 1px solid rgba(0, 0, 0, .12); font-size: 13px; font-weight: 600; color: var(--m-onv); }
.m-opts span.on { border: 2px solid var(--m-p); background: rgba(42, 90, 74, .08); color: var(--m-p); }
.m-trow { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 6px 0; }
.m-trow > span { flex: 1; }
.m-trow b { display: block; font-size: 14px; }
.m-trow small { display: block; font-size: 11.5px; color: var(--m-onv); line-height: 1.5; }
.m-chipv { font-style: normal; font-size: 12px; font-weight: 700; color: var(--m-p); background: rgba(42, 90, 74, .1); padding: 4px 10px; border-radius: 12px; white-space: nowrap; }
.m-bstat { display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; color: var(--m-onv); }
.m-bstat.warn { color: var(--m-err); }
.m-bbtns { display: flex; gap: 12px; }
.m-bbtns .m-btn { flex: 1; border-radius: 12px; }
.m-card.danger { background: rgba(179, 38, 30, .05); border-color: rgba(179, 38, 30, .2); }
.m-card.danger small { color: var(--m-onv); font-size: 12px; }
.m-card.list { padding: 4px 16px; }
.m-lrow { display: flex; align-items: center; gap: 14px; padding: 13px 0; border-bottom: 1px solid rgba(0, 0, 0, .06); }
.m-lrow:last-child { border: 0; }
.m-lrow b { flex: 1; font-size: 15px; font-weight: 600; }

/* ------------------------------------------------------------------ منتقي الملفات */
.m-fp { position: relative; min-height: 740px; background: #fff; }
.m-fp-bar { display: flex; align-items: center; gap: 16px; padding: 14px 16px; font-size: 18px; }
.m-fp-path { display: flex; align-items: center; gap: 8px; padding: 10px 16px; background: #F2F5F3; font-size: 14px; font-weight: 600; color: var(--m-p); }
.m-fp-files { padding: 8px 0; }
.m-fp-file { display: flex; align-items: center; gap: 14px; padding: 12px 16px; font-size: 14px; }
.m-fp-file em { font-style: normal; display: flex; flex-direction: column; direction: ltr; text-align: right; }
.m-fp-file small { color: var(--m-onv); font-size: 11px; direction: rtl; }
.m-fp-file.on { background: rgba(42, 90, 74, .08); }
.m-fp-save { --fbg: #fff; position: absolute; left: 0; right: 0; bottom: 30px; display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-top: 1px solid rgba(0, 0, 0, .08); }
.m-fp-save .m-fval { direction: ltr; text-align: right; font-size: 13px; }

/* ------------------------------------------------------------------ الإشعارات والويدجت */
.m-shade { padding: 12px; display: flex; flex-direction: column; gap: 10px; }
.m-qs { display: flex; gap: 12px; padding: 8px 6px 14px; justify-content: center; }
.m-qs i { width: 56px; height: 56px; border-radius: 18px; background: rgba(255, 255, 255, .18); }
.m-notif { background: #F8F3EA; border-radius: 22px; padding: 12px 16px; color: #2b2621; }
.m-nhead { display: flex; align-items: center; gap: 6px; font-size: 11px; color: #6b6157; margin-bottom: 4px; }
.m-napp { width: 18px; height: 18px; border-radius: 50%; background: var(--m-p); display: inline-flex; align-items: center; justify-content: center; font-size: 10px; }
.m-notif b { font-size: 15px; }
.m-notif p { margin-top: 2px !important; font-size: 13px; color: #4a4239; }
.m-nbtns { display: flex; gap: 12px; margin-top: 10px; }
.m-nbtns span { font-size: 14px; font-weight: 700; color: var(--m-p); padding: 5px 14px; border-radius: 14px; background: rgba(42, 90, 74, .1); }
.m-launch { position: relative; min-height: 740px; padding: 40px 16px; }
.m-widget { background: rgba(250, 246, 236, .96); border-radius: 24px; padding: 14px; box-shadow: 0 6px 20px rgba(0, 0, 0, .2); color: #3D3328; overflow: hidden; }
.m-wh { display: flex; justify-content: space-between; align-items: baseline; padding: 4px 6px 10px; border-bottom: 1px solid rgba(0, 0, 0, .06); margin-bottom: 6px; }
.m-widget.risk .m-wh { background: #FBE3C8; margin: -14px -14px 6px; padding: 14px 20px 10px; }
.m-wh b { font-size: 16px; color: var(--m-p); }
.m-wh small { font-size: 11px; color: var(--m-onv); }
.m-widget.risk .m-wh small { color: #8a4a12; font-weight: 700; }
.m-wrow { display: flex; justify-content: space-between; align-items: center; padding: 8px 6px; font-size: 14px; }
.m-wrow i { width: 22px; height: 22px; border-radius: 50%; border: 2px solid rgba(42, 90, 74, .4); font-style: normal; display: flex; align-items: center; justify-content: center; font-size: 12px; color: #fff; }
.m-wrow.done span { opacity: .5; text-decoration: line-through; }
.m-wrow.done i { background: var(--m-p); border-color: var(--m-p); }
.m-wmore { display: block; text-align: center; color: var(--m-onv); font-size: 11px; padding-top: 4px; }
.m-apps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 40px; }
.m-app { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.m-app i { font-style: normal; width: 56px; height: 56px; border-radius: 18px; background: rgba(255, 255, 255, .85); display: flex; align-items: center; justify-content: center; font-size: 28px; }
.m-app i.adati { background: #F4EAD3; }
.m-app small { font-size: 11px; color: #fff; text-shadow: 0 1px 2px rgba(0, 0, 0, .4); }
.m-lpmenu { position: absolute; left: 40px; right: 40px; bottom: 110px; background: #fff; border-radius: 20px; padding: 6px 0; box-shadow: 0 8px 24px rgba(0, 0, 0, .3); color: #2b2621; }
.m-lpmenu span { display: flex; align-items: center; gap: 12px; padding: 12px 18px; font-size: 14px; }
.m-lpmenu span.on { background: rgba(42, 90, 74, .1); color: var(--m-p); font-weight: 700; }

/* ------------------------------------------------------------------ التعريف والجولة والمنهاج */
.m-onb { min-height: 740px; display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 46px 24px 34px; text-align: center; }
.m-onb-t { font-size: 24px; font-weight: 800; }
.m-onb p { color: var(--m-onv); }
.m-onb-card { width: 100%; background: #fff; border-radius: 16px; padding: 14px; text-align: right; }
.m-onb-card b { display: block; }
.m-onb-card small { color: var(--m-onv); font-size: 12px; }
.m-dots { display: flex; gap: 6px; margin-top: auto; }
.m-dots i { width: 8px; height: 8px; border-radius: 4px; background: rgba(42, 90, 74, .25); }
.m-dots i.on { width: 22px; background: var(--m-p); }
.m-tour { position: absolute; left: 20px; right: 20px; bottom: 120px; background: #fff; border-radius: 20px; padding: 18px; z-index: 22; display: flex; flex-direction: column; gap: 6px; }
.m-tour small { color: var(--m-p); font-weight: 700; font-size: 12px; }
.m-tour b { font-size: 18px; }
.m-tour p { font-size: 13px; color: var(--m-onv); }
.m-tour div { display: flex; justify-content: space-between; align-items: center; margin-top: 6px; }
.m-tourhole { position: absolute; bottom: 20px; left: 50%; margin-left: -33px; width: 66px; height: 66px; border-radius: 50%; box-shadow: 0 0 0 3px #fff; z-index: 22; }
.m-curr-t { font-size: 22px; font-weight: 800; padding: 6px 0; }
.m-currsec { display: flex; flex-direction: column; background: #fff; border-radius: 14px; padding: 14px 16px; position: relative; }
.m-currsec small { color: var(--m-p); font-weight: 700; font-size: 12px; }
.m-currsec b { font-size: 15px; padding-inline-end: 24px; }
.m-currsec svg { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); }
.m-faq { display: flex; justify-content: space-between; align-items: center; background: #fff; border-radius: 12px; padding: 16px; font-weight: 600; font-size: 14px; }

/* ==========================================================================
   إطار الهاتف — مشترك بين الصفحة والمشغّل. --s مقياس الشاشة.
   ========================================================================== */
.phone { --s: .78; --bz: calc(9px * var(--s) / .78); position: relative; flex: none; width: calc(360px * var(--s) + 2 * var(--bz)); height: calc(780px * var(--s) + 2 * var(--bz)); padding: var(--bz); border-radius: calc(46px * var(--s)); background: #1d1b19; box-shadow: 0 18px 44px rgba(40, 30, 20, .28), inset 0 0 0 1.5px #3a3632; }
.phone-viewport { position: relative; width: calc(360px * var(--s)); height: calc(780px * var(--s)); border-radius: calc(38px * var(--s)); overflow: hidden; background: #F4EAD3; direction: ltr; isolation: isolate; }
.phone-stage { position: absolute; left: 0; top: 0; width: 360px; height: 780px; transform: scale(var(--s)); transform-origin: 0 0; }
.phone-stage > .m-screen { position: absolute; inset: 0; }

/* ==========================================================================
   المسرح: هاتفٌ واحد لكل مشهد، فيه لقطاته طبقاتٍ، والضوء والأرقام بإحداثيات الشاشة 360×780.
   ========================================================================== */
.g-cam { position: absolute; left: 0; top: 0; width: 360px; height: 780px; transform-origin: 0 0; transition: transform .45s cubic-bezier(.2, .7, .2, 1); }
.g-layer { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .3s ease, visibility 0s linear .3s; }
.g-layer.is-on { opacity: 1; visibility: visible; transition: opacity .3s ease; }
.g-layer > .m-screen { position: absolute; inset: 0; }
.g-spot { position: absolute; z-index: 45; left: 0; top: 0; width: 0; height: 0; border-radius: 12px; pointer-events: none; opacity: 0;
  box-shadow: 0 0 0 3px #E0A84E, 0 0 0 7px rgba(224, 168, 78, .3), 0 0 0 2000px rgba(28, 22, 15, .3);
  transition: left .35s ease, top .35s ease, width .35s ease, height .35s ease, opacity .25s; }
.g-marks { position: absolute; inset: 0; z-index: 46; pointer-events: none; }
.g-badge { position: absolute; width: 26px; height: 26px; margin: -13px 0 0 -13px; padding: 0; border-radius: 50%; border: 2px solid #fff;
  background: rgba(192, 138, 62, .9); color: #fff; font: 800 13px/22px 'Cairo', sans-serif; text-align: center; cursor: pointer; pointer-events: auto;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .3); transition: transform .2s, background .2s; }
.g-badge.on { background: #2A5A4A; transform: scale(1.2); }
@media (prefers-reduced-motion: reduce) { .g-cam, .g-layer, .g-spot, .g-badge { transition: none !important; } }

/* ==========================================================================
   صفحات الدليل على الموقع
   ========================================================================== */
/* الموقع يقصّ الزخارف بـoverflow-x: hidden على body، ومع clip على html في الجوال يصير body
   حاوية تمرير لا تتحرك، فيتعطّل position: sticky (شريط المشاهد والهاتف). clip يقصّ ولا يصنع
   حاوية؛ وعلى html أيضاً في كل العروض، وإلا امتدّت الزخارف بين ٧٦٩ و٨٩٩ بكسل تمريراً أفقياً. */
html, body { overflow-x: clip; }
.g-hero { padding-top: 128px; padding-bottom: 22px; }
.g-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: .95rem; color: var(--on-surface-variant); margin-bottom: 18px; }
.g-crumbs a { color: var(--primary); font-weight: 700; text-decoration: none; }
.g-kicker { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; color: var(--primary); background: rgba(var(--primary-rgb), .1); border-radius: 999px; padding: 6px 16px; font-size: .95rem; }
.g-hero h1 { margin: 16px 0 10px; font-size: clamp(2rem, 4.6vw, 3.2rem); line-height: 1.25; }
.g-lead { font-size: 1.15rem; line-height: 1.9; color: var(--on-surface-variant); max-width: 62ch; }
.g-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.g-btn { display: inline-flex; align-items: center; gap: 8px; padding: 11px 20px; border-radius: 14px; font-weight: 700; text-decoration: none; border: 1.5px solid rgba(var(--primary-rgb), .3); color: var(--primary); background: transparent; }
.g-btn.solid { background: var(--primary); color: var(--surface); border-color: var(--primary); }
[data-theme="dark"] .g-btn.solid { color: #10251c; }

/* شريط المشاهد: ثابتٌ تحت الترويسة، ويُبرز المشهد الذي يقرؤه المستخدم */
.g-scenebar { position: sticky; top: var(--hdr, 80px); z-index: 40; background: rgba(var(--bg-primary-rgb), .9); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-block: 1px solid rgba(var(--primary-rgb), .1); }
.g-scenebar-in { display: flex; align-items: center; gap: 12px; height: 54px; }
.g-sb-home { flex: none; text-decoration: none; font-size: 1.2rem; line-height: 1; }
.g-sb-title { flex: none; font-weight: 800; color: var(--primary); white-space: nowrap; }
.g-sb-list { flex: 1; min-width: 0; display: flex; gap: 6px; overflow-x: auto; list-style: none; margin: 0; padding: 0; scrollbar-width: none;
  -webkit-mask-image: linear-gradient(to left, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%);
  mask-image: linear-gradient(to left, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%); }
.g-sb-list::-webkit-scrollbar { display: none; }
.g-sb-list li { flex: none; }
.g-sb-list a { display: block; white-space: nowrap; padding: 6px 12px; border-radius: 999px; font-size: .92rem; color: var(--on-surface-variant); text-decoration: none; transition: background .2s, color .2s; }
.g-sb-list a:hover { color: var(--primary); }
.g-sb-list a.on { background: var(--primary); color: var(--surface); }
[data-theme="dark"] .g-sb-list a.on { color: #10251c; }

.g-scene { padding-top: 34px; padding-bottom: 34px; border-bottom: 1px solid rgba(var(--primary-rgb), .1); scroll-margin-top: calc(var(--hdr, 80px) + 58px); }
.g-scene-h { display: flex; align-items: baseline; gap: 12px; margin-bottom: 6px; }
.g-scene-n { flex: none; width: 36px; height: 36px; border-radius: 12px; background: rgba(var(--primary-rgb), .12); color: var(--primary); font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }
.g-scene h2 { font-size: clamp(1.4rem, 3vw, 1.9rem); margin: 0; }
.g-intro { font-size: 1.08rem; line-height: 1.9; color: var(--on-surface-variant); margin: 6px 0 12px; max-width: 70ch; }
.g-more { margin-top: 14px; }
.g-more a { color: var(--primary); font-weight: 700; }

/* الحاسوب: الشرح يمين الصفحة حيث يبدأ النظر في العربية، والهاتف يسارها ثابتاً بجانبه */
.g-stage { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 44px; align-items: start; margin-top: 10px; outline: none; }
.g-media { position: sticky; top: calc(var(--hdr, 80px) + var(--bar, 56px) + 14px); touch-action: pan-y; -webkit-user-select: none; user-select: none; }
.g-media .phone { --s: var(--fit, .74); }
.g-panel { min-width: 0; padding-top: 4px; }
.g-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.g-step { display: flex; gap: 12px; align-items: flex-start; width: 100%; margin: 0; padding: 12px 14px; border-radius: 14px; border: 1px solid rgba(var(--primary-rgb), .1);
  background: rgba(var(--surface-rgb), .6); color: var(--on-surface); font: inherit; font-size: 1.05rem; line-height: 1.85; text-align: right; cursor: pointer;
  transition: border-color .2s, background .2s, box-shadow .2s; }
.g-step:hover { border-color: rgba(var(--primary-rgb), .35); }
.g-step:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.g-steps li.is-active .g-step { border-color: var(--primary); background: rgba(var(--primary-rgb), .08); box-shadow: 0 6px 18px rgba(var(--primary-rgb), .1); }
.g-num { flex: none; width: 28px; height: 28px; margin-top: 3px; border-radius: 50%; background: rgba(192, 138, 62, .9); color: #fff; font-weight: 800; font-size: .95rem; display: inline-flex; align-items: center; justify-content: center; }
.g-steps li.is-active .g-num { background: #2A5A4A; }
[data-theme="dark"] .g-steps li.is-active .g-num { background: var(--primary); color: #10251c; }
.g-tap { font-size: .8rem; color: var(--primary); font-weight: 700; margin-inline-start: 6px; white-space: nowrap; }
.g-chev, .g-picitem { display: none; }

/* الهاتف: الفصل قائمة مواضيع مطويّة. لمسةٌ تفتح موضوعاً وتطوي غيره، فلا تطول الصفحة.
   وفي الموضوع المفتوح صورةٌ واحدة لكل لقطة — الجزء الذي تقع فيه عناصرها من الشاشة، وعليها
   أرقامها — وتحتها خطواتها أسطراً قصيرة. لا أزرار تنقّل، ولا تعتيم، ولا حركة.
   الهاتف الكامل يبقى للقياس وحده، ومنه تُنسخ الصور. وبلا JavaScript تبقى المواضيع كلها مفتوحة. */
@media (max-width: 899px) {
  .g-hero { padding-bottom: 8px; }
  .g-scenebar { display: none; }

  .g-scene { padding-top: 0; padding-bottom: 0; border-bottom: 1px solid rgba(var(--primary-rgb), .12); scroll-margin-top: calc(var(--hdr, 80px) + 6px); }
  .g-scene:first-of-type { border-top: 1px solid rgba(var(--primary-rgb), .12); }
  .g-scene-h { align-items: center; margin: 0; padding: 16px 0; min-height: 64px; }
  .js .g-scene-h { cursor: pointer; -webkit-tap-highlight-color: transparent; }
  .js .g-scene-h:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; border-radius: 10px; }
  .g-scene h2 { flex: 1; font-size: 1.15rem; line-height: 1.5; }
  .g-scene-n { width: 32px; height: 32px; border-radius: 10px; font-size: .95rem; }
  .js .g-chev { display: block; flex: none; width: 10px; height: 10px; margin-inline-end: 6px; border-right: 2px solid var(--primary); border-bottom: 2px solid var(--primary); transform: rotate(45deg) translateY(-3px); transition: transform .2s; }
  .js .g-scene.open .g-chev { transform: rotate(-135deg) translateY(-3px); }
  .js .g-scene:not(.open) .g-scene-body { display: none; }
  .g-scene-body { padding-bottom: 26px; }
  .g-intro { margin-top: 0; }

  .g-stage { display: block; margin-top: 4px; }
  .g-media { position: relative; top: 0; display: flex; justify-content: center; margin-top: 16px; }
  .g-media .phone { --s: .78; }
  /* fixed لا يمدّ الصفحة، ويبقى مرسوماً للقياس. والطبقة النشطة تعلن visibility: visible فتظهر رغم خفاء
     أبيها، فتُخفى الشجرة كلّها بـopacity. */
  .js .g-media { position: fixed; left: 0; top: 0; margin: 0; opacity: 0; visibility: hidden; pointer-events: none; z-index: -1; }
  .js .g-media * { visibility: hidden !important; pointer-events: none !important; }

  .g-steps { gap: 12px; }
  .g-step, .g-steps li.is-active .g-step { padding: 0; border: 0; background: none; box-shadow: none; cursor: default; font-size: 1.05rem; line-height: 1.85; }
  .g-steps li.is-active .g-num, [data-theme="dark"] .g-steps li.is-active .g-num { background: rgba(192, 138, 62, .9); color: #fff; }
  .g-num { width: 26px; height: 26px; font-size: .9rem; }

  .js .g-picitem { display: block; margin: 6px 0 4px; }
  .g-pic { position: relative; margin: 0 auto; overflow: hidden; border-radius: 16px; background: #F4EAD3; border: 1px solid rgba(0, 0, 0, .08); box-shadow: 0 6px 20px rgba(40, 30, 20, .1); }
  .g-pic.cut-top { -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 22px); mask-image: linear-gradient(to bottom, transparent 0, #000 22px); }
  .g-pic.cut-bottom { -webkit-mask-image: linear-gradient(to top, transparent 0, #000 22px); mask-image: linear-gradient(to top, transparent 0, #000 22px); }
  .g-pic.cut-top.cut-bottom { -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 22px, #000 calc(100% - 22px), transparent 100%); mask-image: linear-gradient(to bottom, transparent 0, #000 22px, #000 calc(100% - 22px), transparent 100%); }
  .g-pic-in { position: absolute; left: 0; top: 0; width: 360px; height: 780px; transform-origin: 0 0; }
  .g-pic-in > .m-screen { position: absolute; inset: 0; }
  .g-pic .g-ring { position: absolute; z-index: 60; border: 2.5px solid #E0A84E; border-radius: 10px; pointer-events: none; }
  .g-pic .g-badge { z-index: 61; cursor: default; pointer-events: none; }
}

.g-pager { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding-top: 30px; padding-bottom: 70px; }
.g-pager a { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; border-radius: 16px; text-decoration: none; color: var(--on-surface); background: rgba(var(--surface-rgb), .65); border: 1px solid rgba(var(--primary-rgb), .14); }
.g-pager a small { color: var(--on-surface-variant); }
.g-pager a b { color: var(--primary); font-size: 1.1rem; }
.g-pager .next { text-align: left; }
.g-pager .empty { visibility: hidden; }
@media (max-width: 480px) { .g-pager { grid-template-columns: 1fr; } .g-pager .next { text-align: right; } }

/* فهرس الدليل والبحث */
.g-search { margin-top: 24px; max-width: 580px; }
.g-search input { width: 100%; font: inherit; font-size: 1.05rem; padding: 14px 18px; border-radius: 16px; border: 1.5px solid rgba(var(--primary-rgb), .25); background: rgba(var(--surface-rgb), .85); color: var(--on-surface); outline: none; }
.g-search input:focus { border-color: var(--primary); box-shadow: 0 0 0 4px rgba(var(--primary-rgb), .12); }
.g-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.g-results { list-style: none; margin: 12px 0 0; padding: 0; max-width: 760px; display: flex; flex-direction: column; gap: 8px; }
.g-results a { display: flex; flex-direction: column; gap: 2px; padding: 12px 16px; border-radius: 14px; background: rgba(var(--surface-rgb), .8); border: 1px solid rgba(var(--primary-rgb), .12); text-decoration: none; color: var(--on-surface); line-height: 1.8; }
.g-results a:hover, .g-results a:focus-visible { border-color: var(--primary); }
.g-results small { color: var(--primary); font-weight: 700; }
.g-noresult { color: var(--on-surface-variant); padding: 8px 4px; }
.g-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 16px; padding: 10px 0 30px; transition: opacity .2s; }
.g-grid.dimmed { opacity: .4; }
.g-card { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 20px; border-radius: 20px; text-decoration: none; color: var(--on-surface); background: rgba(var(--surface-rgb), .7); border: 1px solid rgba(var(--primary-rgb), .12); transition: transform .2s, border-color .2s, box-shadow .2s; }
.g-card:hover { transform: translateY(-3px); border-color: rgba(var(--primary-rgb), .45); box-shadow: 0 12px 28px rgba(0, 0, 0, .08); }
.g-card-top { display: flex; align-items: center; gap: 12px; }
.g-card-emoji { width: 48px; height: 48px; border-radius: 14px; background: rgba(var(--primary-rgb), .1); display: flex; align-items: center; justify-content: center; font-size: 1.6rem; flex: none; }
.g-card-n { font-weight: 800; color: var(--primary); font-size: .9rem; }
.g-card h2 { font-size: 1.25rem; margin: 0; }
.g-card p { color: var(--on-surface-variant); line-height: 1.75; margin: 0; }
.g-card-meta { margin-top: auto; padding-top: 8px; font-size: .85rem; color: var(--on-surface-variant); display: flex; gap: 12px; }
.g-section-t { font-size: 1.6rem; margin: 30px 0 6px; }
.g-formats { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; padding: 8px 0 60px; }
.g-format { padding: 18px; border-radius: 18px; background: rgba(var(--surface-rgb), .6); border: 1px dashed rgba(var(--primary-rgb), .3); }
.g-format b { display: block; font-size: 1.05rem; margin-bottom: 4px; }
.g-format p { margin: 0; color: var(--on-surface-variant); line-height: 1.7; font-size: .95rem; }
@media (max-width: 600px) { .g-grid { grid-template-columns: 1fr; } }
