
  /* ═══ خطوط محلية (المرحلة 7) — بديل Google Fonts، بلا أي اعتماد خارجي ═══
     كل خط مقسَّم لملفين (عربي/لاتيني) بنفس تقسيم Google Fonts القياسي (unicode-range) —
     يحمّل المتصفح تلقائياً فقط الملف المطابق للنص الفعلي المعروض. */
  @font-face{
    font-family:'Tajawal';font-style:normal;font-weight:400;font-display:swap;
    src:url('/fonts/tajawal-arabic-400-normal.woff2') format('woff2');
    unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1;
  }
  @font-face{
    font-family:'Tajawal';font-style:normal;font-weight:400;font-display:swap;
    src:url('/fonts/tajawal-latin-400-normal.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:'Tajawal';font-style:normal;font-weight:700;font-display:swap;
    src:url('/fonts/tajawal-arabic-700-normal.woff2') format('woff2');
    unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1;
  }
  @font-face{
    font-family:'Tajawal';font-style:normal;font-weight:700;font-display:swap;
    src:url('/fonts/tajawal-latin-700-normal.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:'Tajawal';font-style:normal;font-weight:800;font-display:swap;
    src:url('/fonts/tajawal-arabic-800-normal.woff2') format('woff2');
    unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1;
  }
  @font-face{
    font-family:'Tajawal';font-style:normal;font-weight:800;font-display:swap;
    src:url('/fonts/tajawal-latin-800-normal.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:'Cairo';font-style:normal;font-weight:700;font-display:swap;
    src:url('/fonts/cairo-arabic-700-normal.woff2') format('woff2');
    unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1;
  }
  @font-face{
    font-family:'Cairo';font-style:normal;font-weight:700;font-display:swap;
    src:url('/fonts/cairo-latin-700-normal.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:'Cairo';font-style:normal;font-weight:800;font-display:swap;
    src:url('/fonts/cairo-arabic-800-normal.woff2') format('woff2');
    unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1;
  }
  @font-face{
    font-family:'Cairo';font-style:normal;font-weight:800;font-display:swap;
    src:url('/fonts/cairo-latin-800-normal.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;
  }

  :root{
    --navy:#2b3c52;--navy-deep:#223141;--green:#2e9e6b;--green-soft:#e6f4ec;
    --purple:#7c3aed;--purple-soft:#f1ebfe;--blue:#2f74da;--blue-soft:#e8f0fd;
    --amber:#f0a83c;--amber-soft:#fdf2df;--red:#d9534f;--red-soft:#fbeaea;
    --bg:#f4f5f7;--card:#fff;--ink:#27313f;--muted:#8a93a2;--line:#e9ebef;
    --radius:18px;--shadow:0 6px 22px rgba(31,49,65,.06);--shadow-h:0 12px 30px rgba(31,49,65,.12);
    --header-h:64px;--nav-h:68px;--sidebar-w:248px;
    --font:"Tajawal",-apple-system,"Segoe UI",sans-serif;--display:"Cairo","Tajawal",sans-serif;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html,body{overflow-x:hidden}
  html,body{height:100%}
  body{font-family:var(--font);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.5}
  button{font-family:inherit;cursor:pointer;border:none;background:none}
  input,select{font-family:inherit}

  /* ===== Toggle Switch ===== */
.wa-toggle{position:relative;display:inline-block;width:46px;height:26px;flex:none}
.wa-toggle input{opacity:0;width:0;height:0;position:absolute}
.wa-toggle .slider{position:absolute;cursor:pointer;inset:0;background:#ccc;border-radius:26px;transition:.3s}
.wa-toggle .slider::before{content:'';position:absolute;height:20px;width:20px;right:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s}
.wa-toggle input:checked + .slider{background:var(--green)}
.wa-toggle input:checked + .slider::before{transform:translateX(-20px)}

/* ===== شاشة الدخول ===== */
  .login-wrap{min-height:100dvh;display:grid;place-items:center;padding:20px;
    background:linear-gradient(135deg,var(--navy) 0%,var(--navy-deep) 100%)}
  .login-card{background:var(--card);border-radius:24px;padding:34px 28px;width:100%;max-width:380px;
    box-shadow:0 24px 60px rgba(0,0,0,.25);text-align:center}
  .login-card .mark{width:64px;height:64px;border-radius:18px;overflow:hidden;
    display:grid;place-items:center;margin:0 auto 16px}
  .login-card .mark img{width:100%;height:100%;object-fit:contain}
  .login-card h1{font-family:var(--display);font-size:1.4rem;font-weight:800}
  .login-card p.sub{color:var(--muted);font-size:.9rem;margin-bottom:22px}
  .field{text-align:right;margin-bottom:14px}
  .field label{font-size:.82rem;font-weight:700;color:var(--muted);display:block;margin-bottom:6px}
  .field input{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;font-size:.95rem;outline:none}
  .field input:focus{border-color:var(--green)}
  .demo-roles{display:grid;gap:8px;margin-top:6px}
  .demo-roles .role-btn{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);
    border-radius:13px;text-align:right;transition:.15s}
  .demo-roles .role-btn:hover{border-color:var(--green);background:var(--green-soft)}
  .demo-roles .role-btn .ic{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex:none;color:#fff}
  .demo-roles .role-btn .t{font-family:var(--display);font-weight:700;font-size:.95rem}
  .demo-roles .role-btn .d{font-size:.74rem;color:var(--muted)}
  .divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.78rem;margin:18px 0}
  .divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--line)}

  /* ===== هيكل التطبيق ===== */
  .app{display:none;height:100dvh;flex-direction:column;overflow:hidden}
  .app.show{display:flex}
  .topbar{position:sticky;top:0;z-index:30;height:calc(var(--header-h) + env(safe-area-inset-top, 0px));
    background:linear-gradient(180deg,var(--navy),var(--navy-deep));color:#fff;
    display:flex;align-items:center;justify-content:space-between;
    padding:env(safe-area-inset-top, 0px) 16px 0;box-shadow:0 4px 18px rgba(34,49,65,.18)}
  /* عنوان الصفحة في الوسط */
  .topbar-title{flex:1;text-align:center;font-family:var(--display);font-weight:700;color:#fff;font-size:1rem;pointer-events:none;}
  /* أيقونة المستخدم */
  .topbar-av-btn{position:relative;background:none;border:none;cursor:pointer;padding:2px;flex-shrink:0}
  .topbar-av{width:38px;height:38px;border-radius:50%;
    background:rgba(255,255,255,.18);border:2px solid rgba(255,255,255,.4);
    display:flex;align-items:center;justify-content:center;
    font-size:.82rem;font-weight:700;color:#fff;overflow:hidden}
  .topbar-av img{width:100%;height:100%;object-fit:cover;border-radius:50%}
  /* شارة الدور فوق الأيقونة */
  .topbar-role-badge{position:absolute;bottom:-3px;inset-inline-end:-3px;
    background:var(--amber);color:#fff;font-size:.55rem;font-weight:800;
    padding:1px 5px;border-radius:8px;white-space:nowrap;
    border:1.5px solid var(--navy-deep);line-height:1.4}
  .iconbtn{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:#fff;transition:.2s}
  .iconbtn:hover{background:rgba(255,255,255,.12)}
  .iconbtn.active{color:var(--amber)}
  /* جرس إشعارات المتصفح: أخضر واضح عند التفعيل (اشتراك فعّال) */
  #pushBellBtn.active{color:var(--green);background:rgba(46,158,107,.20)}
  #pushBellBtn.active:hover{background:rgba(46,158,107,.30)}
  .shell{flex:1;display:flex;min-height:0;overflow:hidden}
  .main{flex:1;min-width:0;min-height:0;padding:20px 16px calc(var(--nav-h) + 24px);max-width:1180px;margin-inline:auto;width:100%;overflow-y:auto}

  .section-label{font-family:var(--display);font-weight:700;color:var(--muted);font-size:.95rem;margin:6px 4px 16px}
  .grid{display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}
  .action-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px 16px;
    display:flex;flex-direction:column;align-items:center;gap:14px;min-height:140px;justify-content:center;
    text-align:center;transition:.18s;border:1px solid transparent}
  .action-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-h);border-color:var(--line)}
  .action-card .ic svg{width:44px;height:44px}
  .action-card .lbl{font-family:var(--display);font-weight:700;font-size:1rem}
  /* لوحة ألوان الشجرة */
  .dash-color-panel{grid-column:1/-1;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px;border:1px solid var(--line)}
  /* بطاقات الوثائق */
  .docs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;padding:4px 0 24px}
  .doc-card{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .18s}
  .doc-card:hover{box-shadow:0 4px 18px rgba(0,0,0,.1)}
  .doc-card-thumb{width:100%;height:130px;object-fit:cover;cursor:pointer;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:2.8rem}
  .doc-card-thumb img{width:100%;height:130px;object-fit:cover;cursor:pointer}
  .doc-card-body{padding:12px 14px;flex:1;display:flex;flex-direction:column;gap:5px}
  .doc-card-desc{font-weight:700;font-size:.92rem;color:var(--navy);line-height:1.4}
  .doc-card-meta{font-size:.76rem;color:var(--muted);line-height:1.6}
  .doc-card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;padding:0 14px 12px}
  @media(max-width:420px){.docs-grid{grid-template-columns:1fr}}
  .doc-thumb{width:48px;height:56px;object-fit:cover;border-radius:6px;border:1px solid var(--line);cursor:pointer;transition:transform .15s}
  .doc-thumb:hover{transform:scale(1.08)}
  .doc-thumb-icon{width:48px;height:56px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid var(--line);background:var(--bg);cursor:pointer;font-size:1.6rem}
  .doc-status-pending{color:var(--amber);font-weight:700;font-size:.78rem}
  .doc-status-approved{color:var(--green);font-weight:700;font-size:.78rem}
  /* ── دليل المميزات ── */
  .guide-accordion{display:flex;flex-direction:column;gap:10px}
  .ga-item{border-radius:14px;border:1px solid var(--line);overflow:hidden;background:var(--card)}
  .ga-head{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:none;border:none;cursor:pointer;font-family:var(--display);font-size:.97rem;font-weight:700;color:var(--text);text-align:right;transition:background .15s}
  .ga-head:hover{background:var(--bg)}
  .ga-arrow{font-size:1.2rem;color:var(--muted);transition:transform .25s;display:inline-block;line-height:1}
  .ga-item.open .ga-arrow{transform:rotate(90deg)}
  .ga-body{display:none;padding:4px 18px 16px;animation:fadeIn .18s ease}
  .ga-item.open .ga-body{display:block}
  .ga-list{margin:8px 0 0;padding-right:18px;color:var(--text);font-size:.9rem;line-height:1.9}
  .ga-list li{padding-right:4px}
  .ga-steps-box{background:var(--bg);border-radius:10px;padding:12px 14px;border:1px solid var(--line)}
  .ga-steps-title{font-weight:700;font-size:.85rem;margin-bottom:8px;color:var(--navy)}
  .ga-steps{margin:0;padding-right:18px;font-size:.85rem;line-height:2;color:var(--text)}
  .dash-color-title{font-family:var(--display);font-weight:800;font-size:1rem;color:var(--navy);margin-bottom:14px}
  .dash-color-rows{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
  .dash-color-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--bg);border-radius:10px;border:1px solid var(--line);cursor:pointer;gap:10px}
  .dash-color-row span{font-size:.85rem;font-weight:600;color:var(--ink)}
  .dash-color-row input[type=color]{width:44px;height:32px;border:none;border-radius:7px;cursor:pointer;padding:2px;background:none}
  @media(max-width:500px){.dash-color-rows{grid-template-columns:1fr}}

  .bottomnav{position:fixed;bottom:0;inset-inline:0;z-index:40;height:var(--nav-h);background:var(--card);
    border-top:1px solid var(--line);box-shadow:0 -4px 20px rgba(31,49,65,.06);display:flex;justify-content:space-around}
  .navitem{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
    color:var(--muted);font-size:.72rem;font-weight:500;transition:.2s;position:relative}
  .navitem svg{width:23px;height:23px}
  .navitem.active{color:var(--green)}
  .navitem.active::before{content:"";position:absolute;top:0;width:34px;height:3px;border-radius:0 0 4px 4px;background:var(--green)}
  .nav-badge{position:absolute;top:4px;inset-inline-end:calc(50% - 18px);background:var(--red);color:#fff;font-size:.6rem;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1;pointer-events:none}
  .side-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:#fff;font-size:.65rem;font-weight:700;min-width:17px;height:17px;border-radius:9px;padding:0 4px;margin-inline-start:auto;line-height:1}
  @keyframes navblink{0%,100%{opacity:1}50%{opacity:.2}}
  .navitem.has-pending svg,.side-link.has-pending svg{animation:navblink 1.2s ease-in-out infinite}
  .navitem.has-pending svg,.side-link.has-pending svg{color:var(--red)!important;stroke:var(--red)!important}
  .pending-alert{background:var(--amber-soft);border:1px solid var(--amber);border-radius:12px;padding:12px 14px;margin-bottom:14px;display:flex;align-items:center;gap:10px;cursor:pointer}
  .pending-alert:hover{opacity:.85}
  .pending-alert .pa-icon{font-size:1.3rem;flex-shrink:0}
  .pending-alert .pa-text{flex:1;font-size:.88rem;font-weight:600;color:#b97913}
  .pending-alert .pa-count{background:var(--amber);color:#fff;border-radius:20px;font-size:.75rem;font-weight:700;padding:2px 8px}
  .sidebar{display:none}

  .page{display:none;animation:fade .25s ease}
  .page.active{display:block}
  @keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
  .page-head{display:flex;align-items:center;justify-content:space-between;margin:4px 4px 16px;flex-wrap:wrap;gap:12px}
  .page-head h2{font-family:var(--display);font-weight:800;font-size:1.3rem}
  .back-nav-btn{font-size:1rem;padding:6px 10px;opacity:.75;transition:.18s}.back-nav-btn:hover{opacity:1;transform:translateX(-2px)}
  .btn{font-family:var(--display);font-weight:700;padding:9px 16px;border-radius:11px;display:inline-flex;
    align-items:center;gap:7px;transition:.18s;font-size:.9rem}
  .btn svg{width:17px;height:17px}
  .btn-primary{background:var(--green);color:#fff;box-shadow:0 6px 16px rgba(46,158,107,.28)}
  .btn-primary:hover{filter:brightness(.96);transform:translateY(-1px)}
  .btn-ghost{background:var(--card);border:1px solid var(--line);color:var(--ink)}
  .btn-ghost:hover{border-color:var(--green);color:var(--green)}
  .btn-sm{padding:5px 10px;font-size:.78rem;border-radius:9px}

  /* ===== الشجرة ===== */
  .tree-tools{display:flex;gap:10px;margin:0 4px 16px;flex-wrap:wrap}
  .searchbar{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);
    border-radius:13px;padding:10px 13px;box-shadow:var(--shadow);flex:1;min-width:200px}
  .searchbar input{border:none;outline:none;flex:1;font-size:.92rem;background:none;color:var(--ink)}
  .searchbar svg{width:18px;height:18px;color:var(--muted)}
  .tree{padding:6px 2px}
  /* ═══ شجرة العائلة ═══ */
  .tree{overflow-x:auto;padding:4px 0 16px;-webkit-overflow-scrolling:touch}
  .tnode{margin:3px 0}
  .trow{
    display:flex;flex-wrap:nowrap;align-items:center;gap:8px;
    background:var(--card);border:1px solid var(--line);border-radius:12px;
    padding:7px 10px;cursor:pointer;transition:border-color .15s,background .15s;
    min-width:0;width:fit-content;max-width:100%}
  .trow:hover{border-color:var(--green);background:#f0faf5}
  .trow.hl{border-color:var(--green);box-shadow:0 0 0 2px rgba(46,158,107,.15)}
  .toggle{
    width:26px;height:26px;border-radius:7px;
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;flex-grow:0;
    background:var(--green);color:#fff;
    font-weight:800;font-size:1rem;line-height:1;
    box-shadow:0 1px 3px rgba(46,158,107,.3)}
  .toggle.empty{background:var(--line);color:var(--muted);box-shadow:none}
  /* الصورة */
  .avatar{
    width:34px;height:34px;border-radius:50%;
    flex-shrink:0;flex-grow:0;
    display:flex;align-items:center;justify-content:center;
    font-weight:700;font-size:.8rem;color:#fff;
    background:var(--navy);overflow:hidden}
  .avatar.f{background:var(--purple)}
  .avatar.dead{opacity:.55}
  .tree-av-img{
    width:34px;height:34px;border-radius:50%;
    object-fit:cover;display:block;
    flex-shrink:0;flex-grow:0}
  /* نص */
  .tinfo{
    flex:1 1 120px;min-width:0;
    display:flex;flex-direction:column;justify-content:center}
  .tname{
    font-weight:700;font-size:.88rem;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
    color:var(--ink)}
  .tmeta{font-size:.7rem;color:var(--muted);margin-top:1px;white-space:nowrap}
  .tactions{flex-shrink:0;flex-grow:0;display:flex;gap:4px;align-items:center}
  .kids{
    margin-inline-start:22px;
    border-inline-start:2px solid var(--green);
    padding-inline-start:12px;margin-top:3px}
  @media(max-width:480px){
    .trow{padding:5px 8px;gap:6px}
    .avatar,.tree-av-img{width:28px;height:28px}
    .toggle{width:22px;height:22px;font-size:.85rem}
    .tname{font-size:.8rem}
    .kids{margin-inline-start:14px;padding-inline-start:8px}
  }
  .pill{font-size:.66rem;font-weight:700;padding:2px 8px;border-radius:20px;background:var(--green-soft);color:var(--green)}

  /* ── حاوية مشتركة لكل عروض الشجرة — لوحة التفاصيل (treePanel) ترتكز عليها ── */
  #tree-views-wrap{position:relative;width:100%;height:calc(100dvh - 220px);min-height:400px}
  /* ── canvas شجرة هرمية ── */
  #tree-canvas-wrap{position:absolute;inset:0;width:100%;height:100%;
    border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--bg);box-shadow:var(--shadow)}
  #treeCv{display:block;width:100%;height:100%;cursor:grab}
  #treeCv.drag{cursor:grabbing}
  #treeCv.hover{cursor:pointer}
  #treePanel{
    position:absolute;top:0;right:0;width:240px;height:100%;
    background:rgba(255,255,255,.97);backdrop-filter:blur(12px);
    border-right:1px solid var(--line);
    transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);
    display:flex;flex-direction:column;z-index:10;box-shadow:-6px 0 22px rgba(0,0,0,.08)}
  #treePanel.open{transform:translateX(0)}
  #tpHead{padding:12px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:9px;flex-shrink:0}
  #tpAv{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;background:var(--green-soft)}
  #tpInfo{flex:1;min-width:0}
  #tpName{font-family:var(--display);font-size:.9rem;font-weight:800;color:var(--navy);line-height:1.2}
  #tpSub{font-size:.68rem;color:var(--muted);margin-top:2px}
  #tpClose{border:1px solid var(--line);background:var(--bg);color:var(--muted);border-radius:7px;padding:3px 8px;font-size:.7rem;cursor:pointer;flex-shrink:0}
  #tpClose:hover{border-color:var(--green);color:var(--green)}
  #tpBody{flex:1;overflow-y:auto;padding:10px 14px}
  .tp-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;font-size:.76rem}
  .tp-lbl{color:var(--muted)}.tp-val{font-weight:700;color:var(--ink)}
  .tp-sec{font-size:.68rem;font-weight:700;color:var(--green);margin:9px 0 4px;display:flex;align-items:center;gap:5px}
  .tp-sec::after{content:'';flex:1;height:1px;background:var(--line)}
  .tp-pers{display:flex;align-items:center;gap:7px;padding:5px 7px;border-radius:8px;cursor:pointer;border:1px solid transparent;margin-bottom:2px;transition:.12s}
  .tp-pers:hover{background:var(--bg);border-color:var(--line)}
  .tp-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
  .tp-pn{font-size:.76rem;flex:1}.tp-px{font-size:.66rem;color:var(--muted)}
  .tp-acts{display:flex;flex-direction:column;gap:5px;margin-top:10px}
  .tp-order-input{width:34px;height:22px;border:1px solid var(--line);border-radius:6px;background:var(--bg);
    color:var(--ink);font-size:.72rem;text-align:center;padding:0 2px;flex-shrink:0;margin-inline-end:4px;cursor:text}
  .tp-order-input::-webkit-inner-spin-button,.tp-order-input::-webkit-outer-spin-button{opacity:1}
  .tp-kids-more{margin-top:4px;width:100%;padding:5px;border-radius:9px;border:1px solid var(--line);
    background:var(--card);font-family:var(--display);font-size:.75rem;cursor:pointer;color:var(--green);
    font-weight:700;transition:.15s}
  .tp-kids-more:hover{background:var(--green);color:#fff}
  .tp-btn{width:100%;padding:7px;border-radius:9px;border:1px solid var(--line);background:var(--card);
    font-family:var(--display);font-size:.78rem;font-weight:700;cursor:pointer;transition:.15s;color:var(--ink)}
  .tp-btn:hover{border-color:var(--green);color:var(--green);background:var(--green-soft)}
  .tp-btn.danger{color:var(--red)}.tp-btn.danger:hover{border-color:var(--red);background:var(--red-soft);color:var(--red)}
  .tp-btn.primary{background:var(--green);color:#fff;border-color:var(--green);box-shadow:0 4px 12px rgba(46,158,107,.2)}
  .tp-btn.primary:hover{background:#27905f}
  /* ── Sunburst حلقات دائرية ── */
  #sb-canvas-wrap{display:none;position:absolute;inset:0;width:100%;height:100%;
    border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#faf7f0}
  #sbCv{display:block;width:100%;height:100%;cursor:grab}
  #sbCv.sbdrag{cursor:grabbing}
  .sb-top{position:absolute;top:10px;right:10px;display:flex;gap:6px;z-index:5;flex-wrap:wrap;max-width:calc(100% - 20px)}
  .sb-btn{padding:5px 12px;border-radius:10px;background:rgba(43,60,82,.75);backdrop-filter:blur(4px);
    color:#fff;font-size:.78rem;font-family:var(--display);font-weight:700;cursor:pointer;
    border:1px solid rgba(255,255,255,.2);transition:.15s}
  .sb-btn:hover{background:rgba(43,60,82,.95)}
  .sb-ctrl{display:flex;align-items:center;gap:4px;background:rgba(43,60,82,.75);backdrop-filter:blur(4px);
    border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:4px 8px}
  .sb-ctrl label{color:#fff;font-size:.72rem;font-family:var(--display);white-space:nowrap}
  .sb-ctrl select{background:transparent;color:#fff;border:none;font-size:.78rem;font-family:var(--display);
    font-weight:700;cursor:pointer;outline:none;padding:0 2px}
  .sb-ctrl select option{background:#2b3c52;color:#fff}
  /* ── عرض جانبي: شجرة هرمية تنمو من اليسار إلى اليمين (canvas) ── */
  #side-view-wrap{display:none;position:absolute;inset:0;width:100%;height:100%;
    border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--bg);box-shadow:var(--shadow)}
  #sideCv{display:block;width:100%;height:100%;cursor:grab;
    touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
  #sideCv.drag{cursor:grabbing}
  #sideCv.hover{cursor:pointer}
  /* Handle مخفي افتراضياً على سطح المكتب */
  #tpHandle{display:none}
  #treeHeaderHandle{display:none}
  /* Safe area للـ nav bar على iOS وأندرويد */
  .bottomnav{
    padding-bottom: env(safe-area-inset-bottom, 0px);
    height: calc(var(--nav-h) + env(safe-area-inset-bottom, 0px));
  }
  @media(max-width:600px){
    /* الشجرة: لا سكرول — ارتفاع ثابت */
    .page[data-page="tree"]{overflow:hidden}
    #tree-views-wrap{
      height:calc(100dvh - var(--header-h) - var(--tree-header-h,156px) - var(--nav-h) - env(safe-area-inset-bottom,0px));
      min-height:250px;
      transition:height .3s ease}
    /* الشريط العلوي القابل للطي — العنوان + الأدوات + الفروع */
    #treeHeaderWrap{
      overflow:hidden;
      transition:max-height .3s ease, opacity .25s ease, margin .3s ease;
      max-height:600px}
    #treeHeaderWrap.collapsed{
      max-height:0!important;opacity:0;margin:0;pointer-events:none}
    /* مقبض طي/فتح الشريط العلوي */
    #treeHeaderHandle{
      display:flex;flex-direction:column;align-items:center;justify-content:center;
      gap:3px;height:34px;cursor:pointer;margin-top:-10px;margin-bottom:4px}
    #treeHeaderHandleBar{width:36px;height:4px;border-radius:2px;background:var(--green);flex-shrink:0}
    #treeHeaderHandleText{font-family:var(--display);font-size:.7rem;font-weight:500;color:var(--muted)}
    /* Handle — ثابت فوق شريط التنقل مباشرةً */
    #tpHandle{
      display:flex;align-items:center;
      position:fixed;
      bottom:calc(var(--nav-h) + env(safe-area-inset-bottom,0px));
      left:0;right:0;
      height:48px;z-index:50;cursor:pointer;
      background:rgba(255,255,255,.97);
      backdrop-filter:blur(8px);
      border-top:2px solid var(--line);
      border-radius:16px 16px 0 0;
      padding:0 16px;gap:10px;
      box-shadow:0 -4px 16px rgba(0,0,0,.08)}
    #tpHandleBar{width:40px;height:4px;border-radius:2px;background:var(--green);
      flex-shrink:0;position:absolute;top:6px;left:50%;transform:translateX(-50%)}
    #tpHandleName{font-family:var(--display);font-size:.85rem;font-weight:700;color:var(--navy);
      overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1;text-align:center;padding-top:4px}
    /* نص الدعوة الافتراضي (لا شخص محدَّد بعد) — أصغر وأخف من اسم الشخص الفعلي */
    #tpHandleName.hint{font-size:.7rem;font-weight:500;color:var(--muted)}
    /* Panel — ثابت يظهر فوق الـ Handle */
    #treePanel{
      position:fixed;
      width:100%;height:55dvh;
      top:auto;
      bottom:calc(var(--nav-h) + env(safe-area-inset-bottom,0px) + 48px);
      left:0;right:0;
      border-right:none;border-top:1px solid var(--line);
      border-radius:16px 16px 0 0;
      transform:translateY(calc(100% + 48px));
      overflow:hidden;z-index:39}
    #treePanel.open{transform:translateY(0);z-index:49}}

  /* ===== الأعضاء ===== */
  .members{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}
  .member{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 12px;
    text-align:center;border:1px solid transparent;transition:.2s}
  .member:hover{transform:translateY(-3px);box-shadow:var(--shadow-h);border-color:var(--line)}
  .member .avatar{width:56px;height:56px;font-size:1.2rem;margin:0 auto 10px}
  .member .tree-av-img{width:56px;height:56px;border-radius:50%;object-fit:cover;display:block;margin:0 auto 10px;border:2px solid var(--line)}
  .member .nm{font-family:var(--display);font-weight:700;font-size:.95rem}
  .member .role{font-size:.76rem;color:var(--muted);margin-top:2px}
  .member .mem-divider{border-top:1px solid var(--line);margin:8px 0 6px}
  .member .mem-bio{font-size:.75rem;color:var(--text);line-height:1.45;text-align:right;margin-bottom:4px}
  .member .mem-row{font-size:.72rem;color:var(--muted);text-align:right;margin-top:2px}
  .member .mem-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px;margin-top:4px}
  .member .mem-phone{font-size:.75rem;color:var(--green);margin-top:6px;direction:ltr;text-align:center;font-weight:600;letter-spacing:.5px}

  /* ===== الإعلانات ===== */
  .ann{display:grid;gap:14px}
  .ann-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;display:flex;gap:14px}
  .date-chip{flex:none;width:56px;height:60px;border-radius:14px;background:var(--green-soft);color:var(--green);
    display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--display)}
  .date-chip .d{font-size:1.3rem;font-weight:800;line-height:1}
  .date-chip .m{font-size:.7rem;font-weight:700}
  .ann-card h3{font-family:var(--display);font-weight:700;font-size:1rem;margin-bottom:4px}
  .ann-card p{font-size:.86rem;color:var(--muted)}
  .tag{display:inline-block;margin-top:8px;font-size:.7rem;font-weight:700;padding:3px 10px;border-radius:20px}
  .tag.event{background:var(--amber-soft);color:#b97913}.tag.news{background:var(--blue-soft);color:#1e57b0}
  .tag.social{background:var(--purple-soft);color:#5b2fb3}

  /* ===== القوائم/الطلبات/السجل ===== */
  .list{display:flex;flex-direction:column;gap:10px}
  .item{background:var(--card);border-radius:14px;box-shadow:var(--shadow);padding:14px 16px;
    display:flex;align-items:center;gap:12px;flex-wrap:wrap}
  .item .grow{flex:1;min-width:160px}
  .item .t{font-weight:700;font-size:.94rem}
  .item .s{font-size:.78rem;color:var(--muted)}
  .status{font-size:.72rem;font-weight:700;padding:3px 11px;border-radius:20px}
  .status.pending{background:var(--amber-soft);color:#b97913}
  .status.approved{background:var(--green-soft);color:var(--green)}
  .status.rejected{background:var(--red-soft);color:var(--red)}
  .empty{text-align:center;color:var(--muted);padding:40px 10px;font-size:.9rem}

  /* ===== نافذة منبثقة ===== */
  .modal-bg{position:fixed;inset:0;background:rgba(34,49,65,.45);display:none;place-items:center;z-index:60;padding:18px}
  .modal-bg.show{display:grid}
  .modal{background:var(--card);border-radius:20px;padding:24px;width:100%;max-width:440px;max-height:88vh;overflow:auto;box-shadow:0 24px 60px rgba(0,0,0,.3)}
  .modal h3{font-family:var(--display);font-weight:800;margin-bottom:16px}
  .modal .field{margin-bottom:12px}
  .modal .field select{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:11px;outline:none;background:#fff}
  .modal-actions{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
  .modal-actions .btn{flex:1;justify-content:center}
  .modal-header{display:flex;align-items:center;gap:8px;padding:14px 16px 0;font-family:var(--display);font-weight:700;font-size:1rem;border-bottom:1px solid var(--border);padding-bottom:12px;margin-bottom:2px}
  /* modal-overlay: مستخدم في وثائق وغيرها */
  .modal-overlay{position:fixed;inset:0;background:rgba(34,49,65,.55);display:flex;align-items:center;justify-content:center;z-index:70;padding:16px}
  .modal-card{background:var(--card);border-radius:20px;width:100%;overflow:auto;max-height:90vh;box-shadow:0 24px 60px rgba(0,0,0,.3)}
  .modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line);font-weight:700;font-size:.95rem}
  .modal-close{background:none;border:none;font-size:1.2rem;cursor:pointer;color:var(--muted);line-height:1;padding:4px 8px;border-radius:8px}
  .modal-close:hover{background:var(--line)}

  .toast{position:fixed;bottom:84px;right:50%;transform:translateX(50%);background:var(--navy-deep);color:#fff;
    padding:11px 20px;border-radius:30px;font-size:.86rem;font-weight:700;z-index:80;opacity:0;transition:.3s;pointer-events:none;box-shadow:0 8px 24px rgba(0,0,0,.25)}
  .toast.show{opacity:1;bottom:96px}

  /* ═══ نقل فرع ═══ */
  .search-drop{position:absolute;top:calc(100% + 4px);right:0;left:0;background:var(--card);
    border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-h);z-index:50;
    max-height:220px;overflow-y:auto}
  .search-drop .sd-item{display:flex;flex-direction:column;padding:10px 14px;cursor:pointer;
    transition:.15s;border-bottom:1px solid var(--line)}
  .search-drop .sd-item:last-child{border-bottom:none}
  .search-drop .sd-item:hover{background:var(--green-soft)}
  .search-drop .sd-item .sd-name{font-weight:700;font-size:.92rem;color:var(--navy)}
  .search-drop .sd-item .sd-sub{font-size:.78rem;color:var(--muted)}
  .mt-selected{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--bg);
    border-radius:12px;border:1.5px solid var(--line)}
  .mt-selected .ms-name{font-weight:700;font-size:.92rem;color:var(--navy)}
  .mt-selected .ms-sub{font-size:.78rem;color:var(--muted)}
  .mt-selected .ms-clear{margin-inline-start:auto;background:none;border:none;color:var(--muted);
    cursor:pointer;font-size:1.1rem;padding:4px 6px;border-radius:6px}
  .mt-selected .ms-clear:hover{color:var(--red)}
  /* ═══ قسم لوحة التحكم المطوي (sidebar + drawer) ═══ */
  .admin-group{margin-top:10px}
  .admin-group-btn{display:flex;align-items:center;gap:10px;width:100%;padding:11px 14px;
    border-radius:13px;border:none;background:rgba(31,49,65,.07);color:var(--navy);
    font-weight:700;font-family:var(--display);font-size:.93rem;cursor:pointer;
    text-align:right;transition:.18s;user-select:none}
  .admin-group-btn svg{width:18px;height:18px;flex:none}
  .admin-group-btn:hover{background:rgba(31,49,65,.13)}
  .admin-group-btn .ag-arrow{margin-inline-start:auto;transition:transform .25s;
    display:inline-block;font-style:normal;font-size:1rem;line-height:1}
  .admin-group-btn.open .ag-arrow{transform:rotate(90deg)}
  .admin-group-items{overflow:hidden;max-height:0;transition:max-height .35s ease}
  .admin-group-items.open{max-height:1400px}
  .admin-group-items .drawer-link{padding-inline-start:34px;font-size:.88rem}
  @media (min-width:680px){.grid{grid-template-columns:repeat(3,1fr);gap:18px}.members{grid-template-columns:repeat(3,1fr)}.main{padding:26px 24px calc(var(--nav-h) + 26px)}}
  @media (min-width:1024px){
    .bottomnav{display:none}
    .sidebar{display:flex;flex-direction:column;width:var(--sidebar-w);flex:none;background:var(--card);
      border-inline-start:1px solid var(--line);height:100%;padding:22px 14px;gap:5px;overflow-y:auto}
    .sidebar .logo{display:flex;align-items:center;gap:12px;padding:6px 10px 18px;margin-bottom:8px;border-bottom:1px solid var(--line)}
    .sidebar .logo .mk{width:42px;height:42px;border-radius:12px;overflow:hidden;display:grid;place-items:center;color:#fff}
    .sidebar .logo .mk img{width:100%;height:100%;object-fit:contain}
    .sidebar .logo .t{font-family:var(--display);font-weight:800;font-size:1.05rem}
    .sidebar .logo .t small{display:block;font-weight:500;font-size:.72rem;color:var(--muted)}
    .side-link{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:13px;color:var(--muted);
      font-weight:700;font-family:var(--display);font-size:.93rem;transition:.18s}
    .side-link svg{width:21px;height:21px}
    .side-link:hover{background:var(--bg);color:var(--ink)}
    .side-link.active{background:var(--green-soft);color:var(--green)}
    .admin-group-items .side-link{padding-inline-start:38px;font-size:.88rem}
    .main{padding:30px 34px 40px;max-width:1040px;height:100%;overflow-y:auto}
    .members{grid-template-columns:repeat(4,1fr)}
    .ann{grid-template-columns:1fr 1fr}
    .side-foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}
  }

  /* ===== الملف الشخصي ===== */
  .profile-wrap{max-width:560px;margin:0 auto}
  .nasab-box{background:linear-gradient(135deg,var(--navy),var(--navy-deep));color:#fff;
    border-radius:var(--radius);padding:20px 22px;margin-bottom:20px;box-shadow:var(--shadow-h)}
  .nasab-box .label{font-size:.75rem;opacity:.65;margin-bottom:8px;letter-spacing:.5px}
  .nasab-chain{font-family:var(--display);font-size:1.05rem;font-weight:700;line-height:1.7;word-break:break-word}
  .nasab-chain .sep{opacity:.45;margin:0 4px;font-weight:400}
  .nasab-chain .root-name{color:var(--amber)}
  .profile-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);
    padding:22px;margin-bottom:16px}
  .profile-card h3{font-family:var(--display);font-weight:700;font-size:1rem;
    color:var(--navy);margin-bottom:16px;display:flex;align-items:center;gap:8px}
  .profile-card h3 svg{width:18px;height:18px;flex:none}
  .pfield{margin-bottom:14px}
  .pfield label{font-size:.78rem;font-weight:700;color:var(--muted);display:block;margin-bottom:5px}
  .pfield input,.pfield textarea{width:100%;padding:10px 12px;
    border:1px solid var(--line);border-radius:10px;font-size:.92rem;font-family:inherit;
    outline:none;background:var(--bg);color:var(--ink);resize:vertical;transition:.15s}
  .pfield input:focus,.pfield textarea:focus{border-color:var(--green);background:#fff}
  .pfield input[readonly]{background:#f4f5f7;color:var(--muted);cursor:default}
  .toggle-row{display:flex;align-items:center;justify-content:space-between;
    padding:13px 0;border-bottom:1px solid var(--line)}
  .toggle-row:last-child{border-bottom:none;padding-bottom:0}
  .toggle-row .info{flex:1}
  .toggle-row .info strong{font-size:.92rem;display:block;margin-bottom:2px}
  .toggle-row .info small{font-size:.78rem;color:var(--muted)}
  .sw{position:relative;width:44px;height:26px;flex:none;margin-inline-start:12px}
  .sw input{opacity:0;width:0;height:0;position:absolute}
  .sw-track{position:absolute;inset:0;border-radius:13px;background:#dde0e7;transition:.2s;cursor:pointer}
  .sw input:checked+.sw-track{background:var(--green)}
  .sw-track::after{content:"";position:absolute;width:20px;height:20px;border-radius:50%;
    background:#fff;top:3px;right:3px;transition:.2s;box-shadow:0 1px 4px rgba(0,0,0,.2)}
  .sw input:checked+.sw-track::after{right:auto;left:3px}
  .save-bar{position:sticky;bottom:calc(var(--nav-h) + 10px);text-align:center;margin-top:8px;z-index:10}
  .save-bar button{padding:12px 40px;border-radius:12px;font-size:1rem;font-weight:700;
    background:var(--green);color:#fff;box-shadow:0 4px 14px rgba(46,158,107,.35);transition:.2s;border:none;cursor:pointer}
  .save-bar button:hover{background:#27905f}

  /* ===== الصورة الشخصية ===== */
  .avatar-upload-wrap{display:flex;flex-direction:column;align-items:center;padding:24px 0 8px;margin-bottom:20px}
  .avatar-circle{position:relative;width:110px;height:110px;cursor:pointer}
  .avatar-circle img,.avatar-circle .av-placeholder{
    width:110px;height:110px;border-radius:50%;object-fit:cover;
    border:3px solid var(--green);box-shadow:0 4px 16px rgba(46,158,107,.25)}
  .av-placeholder{background:linear-gradient(135deg,var(--navy),var(--navy-deep));
    display:flex;align-items:center;justify-content:center;
    font-family:var(--display);font-size:2.4rem;font-weight:800;color:#fff}
  .av-edit-btn{position:absolute;bottom:4px;left:4px;width:32px;height:32px;border-radius:50%;
    background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;
    box-shadow:0 2px 8px rgba(0,0,0,.25);transition:.2s;border:2px solid #fff}
  .avatar-circle:hover .av-edit-btn{background:var(--navy);transform:scale(1.1)}
  .av-edit-btn svg{width:15px;height:15px}
  .avatar-name-hint{margin-top:12px;font-family:var(--display);font-weight:700;
    font-size:1.05rem;color:var(--navy);text-align:center}
  .av-role-hint{font-size:.8rem;color:var(--muted);margin-top:3px;text-align:center}
  .av-actions{display:flex;gap:8px;margin-top:10px}
  .av-actions button{font-size:.78rem;padding:5px 14px;border-radius:8px;border:1px solid var(--line);
    background:var(--bg);color:var(--ink);cursor:pointer;transition:.15s;font-family:inherit}
  .av-actions button:hover{border-color:var(--green);color:var(--green)}
  .av-actions .del-av{color:var(--red)!important}
  .av-actions .del-av:hover{border-color:var(--red)!important}
  #avatarInput{display:none}

  /* ===== Hamburger Menu ===== */
  .hamburger-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;
    border-radius:10px;background:rgba(255,255,255,.12);border:none;color:#fff;cursor:pointer;
    font-size:20px;flex:none;transition:.2s}
  .hamburger-btn:hover{background:rgba(255,255,255,.22)}
  @media(min-width:1024px){.hamburger-btn{display:none}}
  .mobile-drawer{position:fixed;inset:0;z-index:200;pointer-events:none}
  .mobile-drawer.open{pointer-events:all}
  .drawer-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);opacity:0;transition:.25s}
  .mobile-drawer.open .drawer-overlay{opacity:1}
  .drawer-panel{position:absolute;top:0;right:0;bottom:0;width:270px;background:var(--card);
    transform:translateX(100%);transition:.3s cubic-bezier(.4,0,.2,1);
    display:flex;flex-direction:column;padding:20px 14px 12px;gap:0;box-shadow:-4px 0 24px rgba(0,0,0,.15);
    overflow:hidden}
  #drawerLinks{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:4px;padding-bottom:8px}
  .mobile-drawer.open .drawer-panel{transform:translateX(0)}
  .drawer-header{display:flex;align-items:center;justify-content:space-between;
    padding-bottom:16px;margin-bottom:8px;border-bottom:1px solid var(--line)}
  .drawer-header .brand{font-family:var(--display);font-weight:800;font-size:1.05rem;color:var(--navy)}
  .drawer-logout{color:var(--red)!important;margin-top:16px;border-top:1px solid var(--line);padding-top:14px!important}
  .drawer-logout:hover{background:var(--red-soft)!important;color:var(--red)!important}
  .drawer-logout svg{stroke:var(--red)!important}
  .drawer-close{width:32px;height:32px;border-radius:8px;background:var(--bg);border:none;
    cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center}
  .drawer-link{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;
    font-size:.95rem;font-weight:600;color:var(--ink);cursor:pointer;transition:.15s;border:none;background:none;width:100%;text-align:right}
  .drawer-link svg{width:20px;height:20px;flex:none;color:var(--muted)}
  .drawer-link:hover,.drawer-link.active{background:var(--green-soft);color:var(--green)}
  .drawer-link:hover svg,.drawer-link.active svg{color:var(--green)}
  .drawer-section-label{font-size:.72rem;font-weight:700;color:var(--muted);
    padding:10px 12px 4px;letter-spacing:.5px;text-transform:uppercase}



*{box-sizing:border-box;margin:0;padding:0}
@keyframes sp{}}
@media(min-width:601px){}


/* ════ صلة القرابة ════ */
  .ks-persons-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
  @media(max-width:600px){.ks-persons-grid{grid-template-columns:1fr}}
  .ks-pcard{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px;border-top:3px solid transparent;transition:box-shadow .2s}
  .ks-pcard.p1{border-top-color:var(--purple)}
  .ks-pcard.p2{border-top-color:var(--blue)}
  .ks-pcard-label{font-size:.75rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;display:flex;align-items:center;gap:6px}
  .ks-pcard-label .dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
  .p1 .dot{background:var(--purple)} .p2 .dot{background:var(--blue)}
  .ks-chip{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg);border-radius:12px;cursor:default;min-height:44px}
  .ks-chip .nm{font-size:.92rem;font-weight:600;color:var(--ink);font-family:var(--display);line-height:1.3}
  .ks-chip .ns{font-size:.76rem;color:var(--muted);line-height:1.3}
  .ks-chip-placeholder{color:var(--muted);font-size:.88rem;padding:10px 12px;background:var(--bg);border-radius:12px;border:1.5px dashed var(--line)}
  .ks-change-btn{margin-top:8px;font-size:.8rem;color:var(--blue);background:none;border:none;cursor:pointer;padding:2px 0;display:flex;align-items:center;gap:4px;opacity:.8;transition:opacity .15s}
  .ks-change-btn:hover{opacity:1}
  .ks-search-wrap{margin-top:10px;animation:ksFadeIn .18s ease}
  @keyframes ksFadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
  .ks-rel-banner{border-radius:var(--radius);padding:22px 20px;text-align:center;margin-bottom:16px;background:linear-gradient(135deg,var(--green-soft) 0%,var(--blue-soft) 100%);border:1px solid #c8e6d8;position:relative;overflow:hidden}
  .ks-rel-banner::before{content:'🔗';position:absolute;font-size:5rem;opacity:.06;top:-10px;right:-10px;line-height:1}
  .ks-rel-name{font-size:.88rem;color:var(--muted);margin-bottom:4px}
  .ks-rel-word{font-size:1.6rem;font-weight:800;color:var(--green);font-family:var(--display);line-height:1.2}
  .ks-rel-norel{color:var(--red);font-size:1rem;font-weight:700;font-family:var(--display)}
  .ks-tree-wrap{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px 20px}
  .ks-anc-center{display:flex;justify-content:center;margin-bottom:0}
  .ks-anc-pill{display:inline-flex;align-items:center;gap:8px;background:#E1F5EE;color:#085041;border:1.5px solid #9FE1CB;border-radius:24px;padding:10px 22px;font-weight:700;font-size:.95rem;cursor:pointer;transition:transform .18s,box-shadow .18s;font-family:var(--display)}
  .ks-anc-pill:hover{transform:translateY(-3px);box-shadow:var(--shadow-h)}
  .ks-anc-badge{font-size:.68rem;background:#0F6E5630;color:#0F6E56;padding:2px 8px;border-radius:10px}
  .ks-vline{width:2px;height:18px;background:#8a9bb0;margin:0 auto;border-radius:1px}
  .ks-hfork{display:flex;align-items:flex-start;position:relative;padding-top:0}
  .ks-hfork::before{content:'';position:absolute;top:0;left:25%;right:25%;height:2px;background:#8a9bb0;border-radius:1px}
  .ks-col{flex:1;display:flex;flex-direction:column;align-items:center;padding-top:18px}
  .ks-col-vline{width:2px;height:14px;background:#8a9bb0;border-radius:1px}
  .ks-node-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border-radius:20px;font-size:.78rem;font-weight:600;cursor:pointer;transition:transform .18s,box-shadow .18s;font-family:var(--display);background:#f0f4f8;color:var(--navy);border:1.5px solid #8a9bb0;white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis}
  .ks-node-pill:hover{transform:translateY(-2px);box-shadow:var(--shadow-h)}
  .ks-node-pill.end-p1{background:#EEEDFE;color:#3C3489;border-color:#AFA9EC;font-weight:700}
  .ks-node-pill.end-p2{background:#E6F1FB;color:#185FA5;border-color:#85B7EB;font-weight:700}
  .ks-node-badge{font-size:.65rem;padding:1px 6px;border-radius:10px;background:rgba(0,0,0,.1);font-weight:700}
  .ks-node-link{opacity:0;transition:opacity .15s;flex-shrink:0}
  .ks-node-pill:hover .ks-node-link{opacity:.5}
  .ks-tree-hint{font-size:.76rem;color:var(--muted);text-align:center;margin-top:16px;display:flex;align-items:center;justify-content:center;gap:5px}
/* ════ أدوات الشجرة — dropdown ════ */
  .tree-btns-wrap{position:relative;display:flex;align-items:center;gap:6px;margin-inline-start:auto}
  #treeBtnsGroup{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
  .tree-panel-mode #treeBtnsGroup{display:none;position:absolute;top:calc(100% + 8px);left:0;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-h);padding:10px 12px;flex-wrap:wrap;z-index:200;min-width:210px;gap:6px;animation:tbSlide .15s ease}
  .tree-panel-mode #treeBtnsGroup.tb-open{display:flex}
  .tree-panel-mode #treeToolsTrigger{display:inline-flex!important}
  @keyframes tbSlide{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
  #treeToolsTrigger{display:none;align-items:center;gap:5px}
  #treeModeToggle{font-size:.82rem;padding:3px 7px;opacity:.55;transition:opacity .15s}
  #treeModeToggle:hover{opacity:1}
/* ════ شجرة العائلة ════ */


  /* ===== صور الشجرة ===== */
  .photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;padding:4px 0}
  .photo-card{background:var(--card);border-radius:12px;box-shadow:var(--shadow);overflow:hidden;cursor:pointer;border:2px solid transparent;transition:.2s;position:relative}
  .photo-card:hover{border-color:var(--green);transform:translateY(-2px);box-shadow:var(--shadow-h)}
  .photo-card.linked{border-color:var(--green)}
  .photo-card img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
  .photo-card-info{padding:6px 8px;font-size:.72rem}
  .photo-card-name{font-weight:700;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .photo-card-file{color:var(--mute);font-size:.65rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:ltr}
  .photo-card-badge{position:absolute;top:5px;right:5px;background:var(--green);color:#fff;border-radius:20px;font-size:.65rem;font-weight:700;padding:2px 6px}
  .photo-modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:900;display:flex;align-items:center;justify-content:center;padding:16px}
  .photo-modal{background:var(--card);border-radius:18px;width:100%;max-width:480px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 48px rgba(0,0,0,.3)}
  .photo-modal-img{width:100%;max-height:280px;object-fit:contain;background:#111}
  .photo-modal-body{padding:16px;overflow-y:auto;flex:1}
  .photo-modal-title{font-family:var(--display);font-weight:800;font-size:1rem;color:var(--navy);margin-bottom:12px}
  .photo-search-input{width:100%;padding:9px 12px;border-radius:10px;border:1.5px solid var(--line);font-size:.9rem;font-family:var(--display);box-sizing:border-box;margin-bottom:10px}
  .photo-search-input:focus{border-color:var(--green);outline:none}
  .photo-person-list{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto}
  .photo-person-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:10px;background:var(--bg);border:1px solid var(--line);cursor:pointer;transition:.15s}
  .photo-person-item:hover{border-color:var(--green)}
  .photo-person-item .ppi-name{font-weight:600;font-size:.85rem;color:var(--navy)}
  .photo-person-item .ppi-sub{font-size:.72rem;color:var(--mute)}
  .photo-modal-current{background:#e8f8ef;border:1px solid var(--green);border-radius:10px;padding:8px 12px;margin-bottom:10px;font-size:.82rem;color:var(--navy);display:flex;align-items:center;justify-content:space-between}
  .photos-filter{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
  .photos-filter button{padding:5px 14px;border-radius:20px;border:1.5px solid var(--line);background:var(--card);font-size:.8rem;cursor:pointer;font-family:var(--display);transition:.15s}
  .photos-filter button.active{background:var(--green);color:#fff;border-color:var(--green)}
  @media(max-width:500px){.photos-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}
  @keyframes fadeIn{from{opacity:0}to{opacity:1}}
  @keyframes glowLabel{
    0%  {box-shadow:0 0 8px rgba(46,158,107,.5),0 0 18px rgba(46,158,107,.3)}
    100%{box-shadow:0 0 16px rgba(46,158,107,.9),0 0 32px rgba(46,158,107,.5)}
  }

  /* ══════ الخدمات (المرحلة خ) ══════ */
  .svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;padding:4px 0 24px}
  .svc-card{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .18s}
  .svc-card:hover{box-shadow:0 4px 18px rgba(0,0,0,.1)}
  .svc-card-pinned{border-color:var(--amber);border-width:1.5px}
  .svc-card-thumb{width:100%;height:140px;background:var(--bg);display:flex;align-items:center;justify-content:center;overflow:hidden}
  .svc-card-thumb img{width:100%;height:140px;object-fit:contain;cursor:zoom-in}
  .svc-card-thumb-icon{font-size:3rem}
  .svc-card-body{padding:12px 14px;flex:1;display:flex;flex-direction:column;gap:5px}
  .svc-card-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:2px}
  .svc-badge{display:inline-flex;align-items:center;gap:3px;font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:20px;line-height:1.7}
  .svc-badge-biz{background:var(--green-soft);color:var(--green)}
  .svc-badge-pin{background:var(--amber-soft);color:#a9711a}
  .svc-status-approved{background:var(--green-soft);color:var(--green)}
  .svc-status-pending{background:var(--amber-soft);color:#a9711a}
  .svc-status-rejected{background:var(--red-soft);color:var(--red)}
  .svc-card-title{font-family:var(--display);font-weight:800;font-size:.95rem;color:var(--navy);line-height:1.4}
  .svc-card-member{font-size:.78rem;color:var(--muted)}
  .svc-card-city{font-size:.78rem;color:var(--muted)}
  .svc-views{margin-inline-start:8px;font-size:.74rem;color:var(--muted)}
  .svc-mine-chip{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:20px;padding:7px 14px;cursor:pointer;user-select:none}
  .svc-mine-chip input{accent-color:var(--green);cursor:pointer}
  .svc-card-desc{font-size:.82rem;color:var(--ink);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .svc-reject-reason{font-size:.76rem;color:var(--red);background:var(--red-soft);border-radius:8px;padding:6px 10px;line-height:1.5}
  .svc-card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
  .svc-btn{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;font-weight:700;padding:6px 12px;border-radius:10px;text-decoration:none;border:1.5px solid var(--line);background:var(--card);color:var(--navy);cursor:pointer}
  .svc-btn:hover{border-color:var(--green)}
  .svc-btn-wa{background:#25D366;color:#fff;border-color:#25D366}
  .svc-btn-link{background:var(--navy);color:#fff;border-color:var(--navy)}
  .svc-pills{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:12px;-webkit-overflow-scrolling:touch}
  .svc-pill{flex:none;padding:6px 14px;border-radius:20px;border:1.5px solid var(--line);background:var(--card);font-size:.82rem;cursor:pointer;font-family:var(--display);white-space:nowrap;transition:.15s}
  .svc-pill:hover{border-color:var(--green)}
  .svc-pill.active{background:var(--green);color:#fff;border-color:var(--green)}
  .svc-review-wrap{background:var(--amber-soft);border:1px solid var(--amber);border-radius:14px;padding:14px;margin-bottom:18px}
  .svc-review-head{font-family:var(--display);font-weight:800;font-size:.95rem;color:#a9711a;margin-bottom:12px;display:flex;align-items:center;gap:8px}
  .svc-review-count{background:var(--amber);color:#fff;font-size:.72rem;font-weight:800;min-width:20px;height:20px;border-radius:20px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}
  .svc-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
  .svc-toggle-row .info strong{display:block;font-size:.86rem;color:var(--navy)}
  .svc-toggle-row .info small{font-size:.74rem;color:var(--muted)}
  @media(max-width:480px){.svc-grid{grid-template-columns:1fr}}

  /* ══════ لوحة تحكم الخدمات (خ4) ══════ */
  .svc-admin-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin-bottom:16px}
  .svc-admin-card h3{font-family:var(--display);font-weight:800;font-size:1rem;color:var(--navy);margin:0 0 14px}
  .svc-cat-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
  .svc-cat-row{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--bg);flex-wrap:wrap}
  .svc-cat-ord{display:flex;flex-direction:column;gap:2px}
  .svc-ord-btn{width:24px;height:18px;line-height:1;border:1px solid var(--line);background:var(--card);border-radius:5px;cursor:pointer;font-size:.6rem;color:var(--navy)}
  .svc-ord-btn:disabled{opacity:.35;cursor:default}
  .svc-cat-icon{width:46px;text-align:center;padding:6px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink)}
  .svc-cat-name{flex:1;min-width:120px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font-family:var(--display)}
  .svc-cat-count{font-size:.72rem;color:var(--muted);white-space:nowrap}
  .svc-cat-add{display:flex;gap:8px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px}
  .svc-cat-add input{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font-family:var(--display)}
  .svc-cat-add #svcNewCatName{flex:1;min-width:140px}
  .svc-adm-table{display:flex;flex-direction:column;gap:8px}
  .svc-adm-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;flex-wrap:wrap}
  .svc-adm-main{flex:1;min-width:160px}
  .svc-adm-title{font-weight:700;font-size:.9rem;color:var(--navy)}
  .svc-adm-sub{font-size:.74rem;color:var(--muted);margin-top:2px}
  .svc-adm-acts{display:flex;align-items:center;gap:6px;flex-wrap:wrap}


  /* ═══════════ الصفحة الرئيسية الجديدة (إحصائيات + بطاقات) ═══════════ */
  .home-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:2px 0 18px}
  .home-stat{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 8px;
    text-align:center;box-shadow:var(--shadow);position:relative;overflow:hidden}
  .home-stat::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--amber)}
  .home-stat .num{font-family:var(--display);font-weight:800;font-size:1.7rem;color:var(--green);line-height:1}
  .home-stat .lbl{font-size:.72rem;color:var(--muted);margin-top:6px}
  .home-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px}
  .home-act{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:15px 6px;
    display:flex;flex-direction:column;align-items:center;gap:9px;cursor:pointer;transition:.18s;
    box-shadow:var(--shadow);text-align:center}
  .home-act:hover{transform:translateY(-3px);box-shadow:var(--shadow-h);border-color:var(--green)}
  .home-act .ic{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;
    background:var(--green-soft);color:var(--green)}
  .home-act .ic svg{width:23px;height:23px}
  .home-act .lbl{font-family:var(--display);font-weight:700;font-size:.82rem;color:var(--ink);line-height:1.2}
  @media(min-width:680px){.home-stats{gap:14px}.home-actions{grid-template-columns:repeat(6,1fr);gap:14px}}

  /* ═══════════ ورقة «المزيد» (قائمة السايدبار على الجوال) ═══════════ */
  .more-sheet-bg{position:fixed;inset:0;background:rgba(34,49,65,.5);z-index:120;
    display:none;align-items:flex-end;justify-content:center;opacity:0;transition:opacity .2s}
  .more-sheet-bg.show{display:flex;opacity:1}
  .more-sheet{background:var(--bg);width:100%;max-width:680px;border-radius:20px 20px 0 0;
    padding:16px 16px calc(22px + env(safe-area-inset-bottom,0px));max-height:82vh;overflow-y:auto;
    box-shadow:0 -12px 44px rgba(0,0,0,.28);transform:translateY(12px);transition:transform .25s}
  .more-sheet-bg.show .more-sheet{transform:none}
  .more-sheet h3{font-family:var(--display);font-weight:800;font-size:1rem;color:var(--ink);
    margin:4px 4px 14px;display:flex;align-items:center;justify-content:space-between}
  .more-close{background:none;border:none;font-size:1.3rem;color:var(--muted);cursor:pointer;line-height:1;padding:2px 8px}
  .more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
  @media(min-width:520px){.more-grid{grid-template-columns:repeat(4,1fr)}}
  .more-item{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:15px 6px;
    display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;text-align:center;transition:.15s}
  .more-item:hover{border-color:var(--green);transform:translateY(-2px)}
  .more-item .ic{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;
    background:var(--green-soft);color:var(--green)}
  .more-item .ic svg{width:21px;height:21px}
  .more-item .lbl{font-size:.75rem;font-weight:700;color:var(--ink);line-height:1.25}
  .more-item-logout{border-color:var(--red)}
  .more-item-logout .ic{background:var(--red-soft);color:var(--red)}
  .more-item-logout .lbl{color:var(--red)}
  .more-item-logout:hover{border-color:var(--red);background:var(--red-soft)}

  /* ═══════════════════════════════════════════════════════════════════
     تحسينات الإخراج — صفحة الخدمات + الحقول (بيئة العمل فقط)
     تعديلات ثيم/إخراج بحتة — لا تمسّ الهيكل ولا الصلاحيات ولا المنطق.
     ═══════════════════════════════════════════════════════════════════ */

  /* ── نظام حقول الإدخال (صنف .input كان بلا تنسيق) ── */
  .input{
    width:100%;
    font-family:var(--font);
    font-size:16px;                 /* 16px يمنع تكبير الشاشة تلقائياً على iOS */
    font-weight:500;
    color:var(--ink);
    background:var(--card);
    border:1.5px solid var(--line);
    border-radius:12px;
    padding:12px 14px;
    min-height:46px;                /* مساحة لمس مريحة على الجوال */
    outline:none;
    -webkit-appearance:none;appearance:none;
    transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
  }
  .input::placeholder{color:var(--muted);opacity:.9}
  .input:hover{border-color:#cfd5de}
  .input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(46,158,107,.15);background:#fff}
  .input:disabled{background:var(--bg);color:var(--muted);cursor:not-allowed}

  /* قائمة منسدلة: سهم مخصّص على اليسار (RTL) */
  select.input{
    cursor:pointer;padding-inline-start:40px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238a93a2' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:left 14px center;background-size:16px;
  }
  /* منطقة النص */
  textarea.input{min-height:92px;line-height:1.7;resize:vertical}
  /* رفع ملف: زرّ الاختيار بلون الهوية */
  input[type=file].input{padding:8px 10px;min-height:46px;display:flex;align-items:center;font-size:.85rem;color:var(--muted);cursor:pointer}
  input[type=file].input::file-selector-button,
  input[type=file].input::-webkit-file-upload-button{
    font-family:var(--display);font-weight:700;font-size:.82rem;
    border:none;border-radius:9px;padding:9px 14px;margin-inline-end:12px;
    background:var(--green-soft);color:var(--green);cursor:pointer;transition:.15s;
  }
  input[type=file].input:hover::file-selector-button,
  input[type=file].input:hover::-webkit-file-upload-button{background:var(--green);color:#fff}

  /* ── شريط البحث: حلقة تركيز متناسقة ── */
  .searchbar{transition:border-color .15s ease, box-shadow .15s ease}
  .searchbar:focus-within{border-color:var(--green);box-shadow:0 0 0 3px rgba(46,158,107,.15)}

  /* ── فلتر المدينة + «خدماتي فقط»: محاذاة الارتفاعات ── */
  #svcCityFilter.input{max-width:260px;min-width:180px}
  .svc-mine-chip{min-height:46px;padding:0 16px;border-width:1.5px;font-weight:600;transition:.15s}
  .svc-mine-chip:hover{border-color:var(--green);color:var(--green)}

  /* ── شريط التصنيفات: حواف ألطف عند الحافة ── */
  .svc-pills{scrollbar-width:thin}
  .svc-pill{font-weight:700;box-shadow:none}
  .svc-pill.active{box-shadow:0 4px 12px rgba(46,158,107,.28)}

  /* ── بطاقات الخدمات: رفع لطيف عند المرور + تفاصيل ── */
  .svc-card{border-radius:16px;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
  .svc-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(31,49,65,.12);border-color:#dfe3e9}
  .svc-card-thumb-icon{background:linear-gradient(135deg,var(--green-soft),#eef6f1)}
  .svc-card-title{font-size:1rem;letter-spacing:-.2px}
  .svc-btn{transition:transform .12s ease, border-color .12s ease, background .12s ease}
  .svc-btn:hover{transform:translateY(-1px)}
  .svc-btn-wa:hover{filter:brightness(.96)}
  .svc-btn-link:hover{filter:brightness(1.08)}

  /* ═══ مودال إضافة/تعديل خدمة — رأس وتذييل ثابتان ═══ */
  #svcModal .modal{padding:0;display:flex;flex-direction:column;border-radius:22px;overflow:hidden;max-height:90vh}
  #svcModal .modal-header{padding:16px 20px;border-bottom:1px solid var(--line);font-size:1.08rem;color:var(--navy);font-weight:800;margin:0;background:var(--card)}
  /* جسم النموذج (الـ div الأوسط ذو التمرير) — حشوة أوسع تطابق الرأس */
  #svcModal .modal > div[style*="overflow"]{padding:18px 20px !important;gap:14px !important}
  #svcModal .modal-actions{margin:0;padding:14px 20px;border-top:1px solid var(--line);background:var(--card)}
  #svcModal .modal-actions .btn{padding:12px 16px;font-size:.95rem}
  /* التسمية أقرب لحقلها داخل المودالات */
  #svcModal .section-label,
  #svcRejectModal .section-label{margin:0 2px 7px;font-size:.84rem;font-weight:700;color:var(--navy)}
  /* أزرار الاختيار (النطاق) بلون الهوية */
  #svcModal input[type=radio]{accent-color:var(--green);width:17px;height:17px;cursor:pointer}
  #svcModal .svc-toggle-row{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
  /* صندوق النطاق كشريحتين واضحتين */
  #svcModal input[type=radio] + *,
  #svcModal label:has(input[name="svcScope"]){font-weight:600}

  /* ── الاستجابة للجوال ── */
  @media(max-width:600px){
    #svcModal .modal{max-height:92vh;border-radius:18px}
    #svcModal .modal-header{padding:14px 16px}
    #svcModal .modal > div[style*="overflow"]{padding:16px !important}
    #svcModal .modal-actions{padding:12px 16px}
    .svc-grid{grid-template-columns:1fr;gap:12px}
    #svcCityFilter.input{max-width:none;width:100%}
    .svc-mine-chip{width:100%;justify-content:center}
  }
