/*
Theme Name: منصة سعود (Saud Market App)
Theme URI: https://example.com/
Author: Saud Market Platform
Description: قالب تطبيق خاص لمنصة تحليل السوق السعودي. مغلق على المدير فقط، دخول دائم، بدون شريط إدارة، شريط تنقل سفلي كتطبيق جوال، قابل للتثبيت (PWA). يعمل مع إضافة «منصة سعود لتحليل السوق».
Version: 1.2.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: saud-market-app
Tags: rtl-language-support, custom-colors, mobile-first
License: GPLv2 or later
*/

/* ================= الخط: IBM Plex Sans Arabic (محلي، OFL) ================= */
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/ibm-plex-sans-arabic-arabic-400-normal.woff2) format('woff2');unicode-range:U+0600-06FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/ibm-plex-sans-arabic-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+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/ibm-plex-sans-arabic-arabic-500-normal.woff2) format('woff2');unicode-range:U+0600-06FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/ibm-plex-sans-arabic-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/ibm-plex-sans-arabic-arabic-700-normal.woff2) format('woff2');unicode-range:U+0600-06FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/ibm-plex-sans-arabic-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+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ================= المتغيرات ================= */
:root{
  --navy:#0f2a43;--navy-2:#163a5c;--gold:#c9a95e;--gold-d:#8b6b25;--gold-l:#f6efd9;
  --bg:#f4f6f9;--surface:#fff;--line:#e5e9ef;--text:#101828;--muted:#667085;
  --green:#159566;--red:#d94c58;--blue:#2f6fd6;
  --bar-h:58px;--tab-h:64px;
  --safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);
  --font:"IBM Plex Sans Arabic",-apple-system,BlinkMacSystemFont,"SF Arabic","Segoe UI",Tahoma,Arial,sans-serif;
}

/* ================= الأساس ================= */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;color-scheme:light;scroll-padding-top:calc(var(--bar-h) + var(--safe-t) + 12px)}
body{margin:0;background:linear-gradient(180deg,#e8eef6 0,var(--bg) 260px) no-repeat,var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.7;font-weight:400;font-feature-settings:'tnum' 1,'lnum' 1;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent;touch-action:manipulation;overscroll-behavior-y:none}
body.app-lock{overflow:hidden}
img{max-width:100%;height:auto}
a{color:inherit}
button,input,select,textarea{font-family:inherit}
h1,h2,h3{font-weight:700;letter-spacing:-.005em}
b,strong{font-weight:700}
.ic{flex:none;display:block}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.app-shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}

/* ================= الشريط العلوي ================= */
.app-bar{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:12px;
  height:calc(var(--bar-h) + var(--safe-t));padding:var(--safe-t) 14px 0;
  background:rgba(15,42,67,.97);color:#fff;-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);
  box-shadow:0 1px 0 rgba(212,175,90,.35),0 8px 22px rgba(10,25,45,.16)}
.app-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;min-width:0;flex:1}
.app-logo{width:36px;height:36px;border-radius:11px;overflow:hidden;flex:none;box-shadow:0 0 0 1px rgba(255,255,255,.12)}
.app-logo img{display:block;width:100%;height:100%}
.app-brand-text{display:grid;line-height:1.25;min-width:0}
.app-brand-text b{font-size:16px;font-weight:800}
.app-brand-text small{font-size:11.5px;color:rgba(255,255,255,.68);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-bar-actions{display:flex;gap:6px;align-items:center}
.app-ic-btn{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;border:0;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;text-decoration:none}
.app-ic-btn:active{background:rgba(255,255,255,.16)}
.app-ic-btn.is-light{background:#f1f3f6;color:#5b6577}
.app-topnav{display:none}
.app-desktop-only{display:none}

/* ================= المحتوى ================= */
.app-main{width:100%;max-width:1180px;margin:0 auto;flex:1;padding:14px 14px calc(var(--tab-h) + var(--safe-b) + 28px);animation:app-in .22s ease both}
@keyframes app-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.app-main .sma-frontend-wrap{max-width:none;margin:0;padding:0;font-family:inherit;color:inherit}
.app-page{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px}
.app-empty{text-align:center;padding:48px 16px}
.app-empty h1{font-size:20px;margin:14px 0 6px}.app-empty p{color:var(--muted);margin:0 0 18px}
.app-empty-ic{width:68px;height:68px;border-radius:22px;background:var(--gold-l);color:var(--gold-d);display:inline-grid;place-items:center}
.app-btn{display:inline-flex;align-items:center;gap:8px;background:var(--navy);color:#fff;border-radius:14px;padding:12px 20px;font-weight:800;text-decoration:none}

/* ================= الشريط السفلي (تطبيق الجوال) ================= */
.app-tabbar{position:fixed;inset:auto 0 0 0;z-index:70;display:grid;grid-template-columns:repeat(5,1fr);
  height:calc(var(--tab-h) + var(--safe-b));padding:6px 6px var(--safe-b);
  background:rgba(255,255,255,.97);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(10,25,45,.06)}
.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;background:none;color:#8a94a6;text-decoration:none;cursor:pointer;font-size:11px;font-weight:700;padding:0;border-radius:14px;position:relative}
.tab-ic{width:46px;height:28px;border-radius:14px;display:grid;place-items:center;transition:background .18s,color .18s,transform .18s}
.tab:active .tab-ic{transform:scale(.92)}
.tab.is-active{color:var(--navy)}
.tab.is-active::before{content:"";position:absolute;top:-7px;width:26px;height:3px;border-radius:0 0 4px 4px;background:var(--gold)}
.tab.is-active .tab-ic{background:var(--gold-l);color:var(--gold-d)}
.tab-lb{line-height:1}

/* ================= قائمة المزيد ================= */
.app-more{position:fixed;inset:0;z-index:90;display:flex;align-items:flex-end;justify-content:center}
.app-more[hidden]{display:none}
.app-more-backdrop{position:absolute;inset:0;background:rgba(9,20,35,.5);opacity:0;transition:opacity .2s}
.app-more-panel{position:relative;width:100%;max-width:520px;background:#fff;border-radius:26px 26px 0 0;padding:10px 18px calc(18px + var(--safe-b));transform:translateY(100%);transition:transform .22s ease;max-height:90vh;overflow:auto}
.app-more.is-open .app-more-backdrop{opacity:1}.app-more.is-open .app-more-panel{transform:none}
.app-more-grip{width:42px;height:4px;border-radius:4px;background:#d9dee6;margin:4px auto 12px}
.app-more-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.app-more-head b{font-size:17px}
.app-more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.app-more-item{display:grid;justify-items:center;gap:8px;padding:14px 6px;background:#f7f8fa;border:1px solid var(--line);border-radius:18px;text-decoration:none;color:var(--text);font-size:12.5px;font-weight:800;text-align:center}
.app-more-item span{width:46px;height:46px;border-radius:15px;background:var(--gold-l);color:var(--gold-d);display:grid;place-items:center}
.app-more-item.is-active{border-color:var(--gold);background:#fffbef}
.app-install,.app-logout{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:16px;padding:14px;margin-top:12px;font:inherit;font-weight:800;font-size:15px;cursor:pointer;text-decoration:none}
.app-install{background:var(--navy);color:#fff}.app-install[hidden]{display:none}
.app-logout{background:#fff0f1;color:#c23b49}
.app-ios-hint{display:flex;gap:10px;align-items:flex-start;margin:12px 0 0;padding:12px;border-radius:14px;background:#eaf2ff;color:#245db6;font-size:13px;line-height:1.7}
.app-ios-hint[hidden]{display:none}

/* ================= شاشة الدخول ================= */
.gate-body{background:radial-gradient(1200px 600px at 50% -10%,#1d4a73 0,#0f2a43 55%,#0a1c2e 100%);min-height:100vh;min-height:100dvh;color:#fff}
.gate{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:calc(24px + var(--safe-t)) 18px calc(24px + var(--safe-b))}
.gate-brand{text-align:center}
.gate-brand img{border-radius:24px;box-shadow:0 14px 40px rgba(0,0,0,.35)}
.gate-brand h1{margin:14px 0 2px;font-size:26px;font-weight:800}.gate-brand p{margin:0;color:rgba(255,255,255,.7);font-size:14px}
.gate-card{width:min(420px,100%);background:#fff;color:var(--text);border-radius:28px;padding:26px 22px;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.gate-card.is-center{text-align:center}
.gate-card h2{margin:0 0 16px;font-size:19px}
.gate-sub{color:var(--muted);margin:8px 0 18px}
.gate-field{display:block;margin-bottom:14px}
.gate-field>span{display:block;font-size:13px;font-weight:700;color:#475467;margin-bottom:6px}
.gate-field>div{display:flex;align-items:center;gap:10px;border:1.5px solid #dfe4ea;border-radius:16px;padding:0 14px;background:#fafbfc;color:#98a2b3;transition:border-color .15s,box-shadow .15s}
.gate-field>div:focus-within{border-color:var(--gold);box-shadow:0 0 0 4px rgba(201,169,94,.18);background:#fff}
.gate-field input{flex:1;min-width:0;border:0;background:transparent;padding:15px 0;font:inherit;font-size:16px;color:var(--text);outline:none}
.gate-eye{border:0;background:none;color:#98a2b3;padding:6px;cursor:pointer}
.gate-submit{width:100%;border:0;border-radius:16px;padding:15px;background:var(--gold);color:#1b1405;font:inherit;font-weight:900;font-size:16px;cursor:pointer;margin-top:4px;display:block;text-align:center;text-decoration:none}
.gate-submit:active{transform:scale(.985)}
.gate-error{display:flex;gap:10px;align-items:center;background:#fff0f1;color:#c23b49;border-radius:14px;padding:12px 14px;font-size:13.5px;font-weight:700;margin-bottom:14px}
.gate-note{display:flex;gap:8px;align-items:center;justify-content:center;margin:14px 0 0;color:#98a2b3;font-size:12.5px}

/* ================= تحسين مكوّنات الإضافة (بطاقات احترافية) ================= */
.app-main .sa-card,.app-main .sma-card{border-radius:20px;border:1px solid var(--line);box-shadow:0 1px 2px rgba(16,24,40,.04),0 8px 24px rgba(16,24,40,.035);background:var(--surface)}
.app-main .sma-global-stock-search{margin:0 0 14px;padding:0;max-width:none}
.app-main .sma-global-stock-search input{border-radius:16px;min-height:50px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.app-main .sma-global-search-results{right:0;left:0;border-radius:16px}
.app-main input,.app-main select,.app-main textarea{font-size:16px}
.app-main table.sma-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
.app-main .sa-toast{bottom:calc(var(--tab-h) + var(--safe-b) + 16px)}
.app-main a{-webkit-touch-callout:none}
.app-main button,.app-main .tab,.app-main [role=button]{-webkit-user-select:none;user-select:none}

/* ================= شاشات أكبر: تنقل علوي ================= */
@media (min-width:900px){
  .app-tabbar{display:none}
  .app-main{padding:24px 20px 48px}
  .app-bar{padding-inline:max(20px,calc((100vw - 1180px)/2 + 20px))}
  .app-brand{flex:none}
  .app-topnav{display:flex;gap:4px;flex:1;margin-inline-start:18px;overflow-x:auto;scrollbar-width:none}
  .app-topnav::-webkit-scrollbar{display:none}
  .app-topnav a{display:inline-flex;align-items:center;gap:7px;color:rgba(255,255,255,.72);text-decoration:none;font-weight:700;font-size:14px;padding:8px 13px;border-radius:12px;white-space:nowrap}
  .app-topnav a:hover{background:rgba(255,255,255,.08);color:#fff}
  .app-topnav a.is-active{background:rgba(201,169,94,.2);color:#f4dfa7}
  .app-topnav a.is-minor{font-weight:600;font-size:13.5px}
  .app-desktop-only{display:grid}
  .app-more{display:none!important}
  .app-main .sa-toast{bottom:24px}
}
@media (max-width:380px){.app-brand-text small{display:none}.tab{font-size:10.5px}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media print{.app-bar,.app-tabbar,.app-more{display:none!important}.app-main{padding:0}}

/* هوية القالب: خلفية مع لمعة ذهبية خفيفة أعلى الصفحة */
.app-main::before{content:"";position:fixed;inset:0 0 auto 0;height:220px;z-index:-1;pointer-events:none;background:radial-gradient(520px 160px at 85% 0,rgba(212,175,90,.14),transparent 70%)}

.app-main input,.app-main select,.app-main textarea,.app-main button{font-family:inherit}
.app-brand-text b{font-weight:700;letter-spacing:0}
