/* الألوان والمقاسات فـ tokens.css (يتحمّل قبل هاد الملف) */
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.5;min-height:100vh;display:flex}
a{color:inherit;text-decoration:none}
/* الشريط الجانبي (D2، Dashboard.dc.html): أبيض، والصفحة المختارة بـ --brand-light */
#sidebar{width:248px;height:100vh;background:var(--white);border-right:1px solid var(--line);display:flex;flex-direction:column;position:fixed;top:0;left:0;z-index:100;transition:.3s;overflow:hidden}
html[dir=rtl] #sidebar{left:auto;right:0;border-right:none;border-left:1px solid var(--line)}
.sidebar-logo{padding:24px 24px 12px;flex-shrink:0}
.sidebar-brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:22px;font-weight:700;letter-spacing:-.02em}
.sidebar-brand img{width:40px;height:40px;flex-shrink:0}
.sidebar-logo small{display:block;margin-top:6px;font-size:14px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar-nav{flex:1 1 auto;min-height:0;padding:8px 16px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}
.nav-item{display:flex;align-items:center;gap:12px;min-height:46px;padding:0 12px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:.2s;color:var(--text);position:relative}
.nav-item:hover{background:var(--bg);color:var(--ink)}
.nav-item.active{background:var(--brand-light);color:var(--brand-dark)}
.nav-item i{font-size:18px;width:20px;text-align:center;flex-shrink:0}
/* أيقونات Lucide (svg.lucide) */
svg.lucide{width:20px;height:20px;flex-shrink:0;vertical-align:middle}
.nav-item svg{width:20px;height:20px;flex-shrink:0}
.side-logout svg{width:18px;height:18px}
.dash-card-head h2 svg{color:var(--brand)}
.btn-primary svg,.btn-sm svg{width:18px;height:18px}
h4 svg.lucide,h5 svg.lucide{color:var(--brand);margin-inline-end:4px}
.nav-item>span:not(.nav-badge):not(.soon-badge){flex:1;min-width:0}
.nav-badge{min-width:24px;height:22px;padding:0 6px;border-radius:var(--r-pill);background:var(--flash);color:#fff;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.nav-badge[hidden]{display:none}
.sidebar-footer{padding:16px;flex-shrink:0;display:flex;flex-direction:column;gap:8px}
.side-plan{border-radius:16px;background:var(--brand-light);padding:16px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.side-plan-lbl{font-size:13px;color:var(--muted)}
.side-plan-name{font-size:17px;font-weight:700;color:var(--ink)}
.side-plan-link{background:none;border:0;padding:0;font-family:inherit;font-size:14px;font-weight:700;color:var(--brand-dark);cursor:pointer}
.side-plan-link:hover{color:var(--brand)}
.side-plan-link[hidden]{display:none}
.side-logout{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border-radius:12px;font-size:14px;font-weight:600;color:var(--flash);cursor:pointer}
.side-logout:hover{background:var(--st-refused-bg)}
.plan-badge{display:inline-block;padding:2px 10px;border-radius:var(--r-pill);font-size:12px;font-weight:700;text-transform:uppercase;margin-left:6px}
.plan-free{background:var(--st-neutral-bg);color:var(--st-neutral-fg)}
.plan-starter{background:var(--brand-light);color:var(--brand-dark)}
.plan-pro{background:var(--brand);color:#fff}
.plan-full{background:var(--volt-light);color:var(--st-delivered-fg)}
.plan-business{background:var(--white);color:var(--brand-dark);box-shadow:inset 0 0 0 1.5px var(--brand)}.plan-early{background:var(--volt);color:var(--ink)}
.plan-lifetime{background:var(--volt-light);color:var(--st-delivered-fg)}
#main{margin-left:248px;flex:1;min-width:0;padding:32px;min-height:100vh;transition:.3s}
html[dir=rtl] #main{margin-left:0;margin-right:248px}
.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px}
.topbar-title{font-size:22px;font-weight:700}
.topbar-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.lang-btn{background:var(--white);border:1px solid var(--line);color:var(--text);min-height:40px;padding:0 14px;border-radius:var(--r-btn);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:.2s}
.lang-btn:hover{border-color:var(--brand);color:var(--brand)}
.lang-btn.active{background:var(--brand);color:#fff;border-color:var(--brand)}
.user-info{background:var(--card);border:1px solid var(--border);padding:6px 14px;border-radius:8px;font-size:12px;color:var(--muted);cursor:pointer}
.stat-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px;transition:.2s}
.stat-card:hover{border-color:var(--brand-light);transform:translateY(-1px)}
.stat-num{font-size:28px;font-weight:700;margin:4px 0}
.stat-lbl{font-size:12px;color:var(--muted)}
.stat-icon{font-size:22px;opacity:.7}
.table-wrap{background:var(--card);border:1px solid var(--border);border-radius:14px;overflow:hidden}
.table-head{padding:16px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:10px}
.table-head h5{font-size:15px;font-weight:600;margin:0}
table{width:100%;border-collapse:collapse;font-size:13px}
/* الجداول تتمرّر أفقيًا داخل بطاقتها، والصفحة ما تخرجش. على الحاسوب ارتفاع محدود باش شريط التمرير
   الأفقي يبان بلا ما تنزل لآخر الجدول؛ فالهاتف السحب بالإصبع يكفي */
.table-scroll{overflow-x:auto;max-width:100%;min-width:0;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.table-scroll thead th{position:sticky;top:0;z-index:2}
@media (min-width:769px){.table-scroll{max-height:calc(100vh - 220px);overflow-y:auto}}
/* D3.5: تحت 640px الطلبيات (والمنتجات) بطاقات: نفس الـ <tr>، بالـ CSS فقط، ونفس الأزرار والقوائم.
   فوق 640px الجدول كما هو (.m-only مخفي) */
.m-only{display:none}
@media (max-width:640px){/* D3.5 */
  #sec_orders thead,#sec_products thead{display:none}
  #sec_orders .table-scroll table,#sec_products .table-scroll table{display:block}
  #ordersTbl,#productsTbl{display:flex;flex-direction:column;gap:12px;padding:12px}
  #ordersTbl tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 14px;grid-template-areas:"date date" "name phone" "product qty" "city delivery" "total profit" "status status" "actions actions";border:1px solid var(--line);border-radius:20px;padding:16px;background:var(--white)}
  #ordersTbl td{display:block;min-width:0;padding:0;border:0;white-space:normal;font-size:16px;overflow-wrap:anywhere}
  #ordersTbl tr:hover td{background:none}
  #ordersTbl td[data-label]::before{content:attr(data-label);display:block;font-size:13px;font-weight:500;color:var(--muted);margin-bottom:2px}
  #ordersTbl td[colspan]{grid-column:1/-1}
  #ordersTbl .oc-num,#ordersTbl .oc-source,#ordersTbl .oc-sent,#ordersTbl .oc-delivered{display:none}
  #ordersTbl .oc-date{grid-area:date;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;font-size:13px!important;color:var(--muted);padding-bottom:10px;border-bottom:1px solid var(--soft)}
  #ordersTbl .oc-id{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:16px;font-weight:700;color:var(--ink)}
  #ordersTbl .oc-name{grid-area:name}
  #ordersTbl .oc-phone{grid-area:phone}
  #ordersTbl .oc-phone a{display:inline-flex;align-items:center;min-height:44px;font-size:17px;font-weight:700}
  #ordersTbl .oc-product{grid-area:product}
  #ordersTbl .oc-qty{grid-area:qty}
  #ordersTbl .oc-city{grid-area:city}
  #ordersTbl .oc-delivery{grid-area:delivery}
  #ordersTbl .oc-total{grid-area:total}
  #ordersTbl .oc-profit{grid-area:profit}
  #ordersTbl .oc-status{grid-area:status;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
  #ordersTbl .oc-status::before{flex-basis:100%;margin-bottom:0}
  #ordersTbl .oc-status .status-sel{flex:1;min-width:0}
  #ordersTbl .oc-delivery .badge{display:none}
  #ordersTbl .oc-delivery .status-sel{width:100%}
  #ordersTbl .oc-actions{position:static;box-shadow:none;background:none;grid-area:actions;display:flex;justify-content:flex-end;gap:8px;padding-top:10px;border-top:1px solid var(--soft)}
  /* بطاقة المنتج: صورة، الاسم، السعر، المخزون، الحذف */
  #productsTbl tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 14px;grid-template-areas:"name name" "price avail" "stat actions";border:1px solid var(--line);border-radius:20px;padding:16px;background:var(--white)}
  #productsTbl td{display:block;min-width:0;padding:0;border:0;white-space:normal;font-size:16px;overflow-wrap:anywhere}
  #productsTbl tr:hover td{background:none}
  #productsTbl td[data-label]::before{content:attr(data-label);display:block;font-size:13px;font-weight:500;color:var(--muted);margin-bottom:2px}
  #productsTbl td[colspan]{grid-column:1/-1}
  #productsTbl .pc-cat,#productsTbl .pc-size,#productsTbl .pc-colors,#productsTbl .pc-cost,#productsTbl .pc-init,#productsTbl .pc-sold{display:none}
  #productsTbl .pc-name{grid-area:name;display:flex;align-items:center;gap:12px;font-size:17px}
  #productsTbl .pc-thumb{display:flex;align-items:center;justify-content:center;width:56px;height:56px;flex-shrink:0;border-radius:14px;object-fit:cover;background:var(--bg);color:var(--muted);font-size:22px}
  #productsTbl .pc-price{grid-area:price}
  #productsTbl .pc-avail{grid-area:avail}
  #productsTbl .pc-stat{grid-area:stat;align-self:end}
  #productsTbl .pc-actions{position:static;box-shadow:none;background:none;grid-area:actions;display:flex;justify-content:flex-end;align-items:end;gap:8px}
}
/* عمود الأزرار (آخر عمود) يبقى ظاهر: مثبّت فآخر السطر، يسار فـ RTL ويمين فـ FR/EN */
.has-actions td:last-child,.has-actions th:last-child{position:sticky;inset-inline-end:0;z-index:1;background:var(--white);box-shadow:8px 0 10px -8px rgba(11,11,31,.18)}
html[dir=ltr] .has-actions td:last-child,html[dir=ltr] .has-actions th:last-child{box-shadow:-8px 0 10px -8px rgba(11,11,31,.18)}
.has-actions th:last-child{background:var(--card2);z-index:3}
th{background:var(--card2);padding:10px 12px;text-align:left;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600;white-space:nowrap}
html[dir=rtl] th{text-align:right}
td{padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text);white-space:nowrap}
tr:last-child td{border-bottom:none}
tr:hover td{background:#FAFAFD}
/* الحالات: bp قيد الانتظار، bc مؤكدة، bi تم التسليم، br مرفوضة، bn محايد، bs متوفر/منشور/مفعّل */
.badge{display:inline-block;padding:4px 12px;border-radius:var(--r-pill);font-size:13px;font-weight:600;line-height:1.4}
.bp{background:var(--st-pending-bg);color:var(--st-pending-fg)}
.bc{background:var(--st-confirmed-bg);color:var(--st-confirmed-fg)}
.br{background:var(--st-refused-bg);color:var(--st-refused-fg)}
.bn{background:var(--st-neutral-bg);color:var(--st-neutral-fg)}
.bi{background:var(--st-delivered-bg);color:var(--st-delivered-fg)}
/* أيقونات bootstrap (<i class="bi bi-…">) عندها نفس class الشارة: بلا خلفية الشارة (المربع الأخضر) */
i.bi{background:none;color:inherit}
.bs{background:var(--st-delivered-bg);color:var(--st-delivered-fg)}
.form-group{margin-bottom:16px}
.form-group label{display:block;font-size:14px;font-weight:600;color:var(--muted);margin-bottom:6px}
/* الحقول: 48px، زوايا 14، خط 16 (أقل من 16 يخلّي iOS يكبّر الصفحة) */
.form-control,.form-select{width:100%;min-height:var(--h-field);background:var(--white);border:1px solid var(--line);color:var(--ink);border-radius:var(--r-field);padding:10px 14px;font-family:inherit;font-size:16px;line-height:1.4;transition:border-color .2s,box-shadow .2s}
.form-control::placeholder,.search-input::placeholder{color:#8A8BA0}
.form-control:focus,.form-select:focus{outline:none;border-color:var(--brand);box-shadow:var(--focus-ring)}
.form-select option{background:var(--white);color:var(--ink)}
/* الأزرار: 48px، زوايا 14، خط 16 (Main.dc.html) */
.btn-primary,.btn-volt,.btn-outline,.btn-danger,.btn-success{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-weight:600;line-height:1.2;cursor:pointer;transition:background .2s,color .2s,border-color .2s,box-shadow .2s}
.btn-primary{background:var(--brand);color:#fff;border:0;min-height:var(--h-btn);padding:0 22px;border-radius:var(--r-btn);font-size:16px}
.btn-primary:hover{background:var(--brand-dark);color:#fff}
.btn-volt{background:var(--volt);color:var(--ink);border:0;min-height:var(--h-btn);padding:0 22px;border-radius:var(--r-btn);font-size:16px}
.btn-volt:hover{background:#C6F21F;color:var(--ink)}
.btn-outline{background:transparent;border:2px solid var(--ink);color:var(--ink);min-height:var(--h-btn);padding:0 20px;border-radius:var(--r-btn);font-size:16px}
.btn-outline:hover{background:var(--brand-light);border-color:var(--brand-dark);color:var(--brand-dark)}
.btn-danger{background:var(--st-refused-bg);color:var(--st-refused-fg);border:1px solid var(--st-refused-bg);min-height:var(--h-btn-sm);padding:0 14px;border-radius:var(--r-btn);font-size:16px}
.btn-danger:hover{background:var(--flash);border-color:var(--flash);color:#fff}
.btn-success{background:var(--st-delivered-bg);color:var(--st-delivered-fg);border:1px solid var(--st-delivered-bg);min-height:var(--h-btn-sm);padding:0 14px;border-radius:var(--r-btn);font-size:16px}
.btn-success:hover{background:var(--volt);border-color:var(--volt);color:var(--ink)}
.btn-primary:focus-visible,.btn-volt:focus-visible,.btn-outline:focus-visible,.btn-danger:focus-visible,.btn-success:focus-visible,.lang-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.btn-primary:disabled,.btn-volt:disabled,.btn-outline:disabled,.btn-danger:disabled,.btn-success:disabled{opacity:.5;cursor:not-allowed}
.btn-sm{min-height:var(--h-btn-sm);padding:0 14px;font-size:15px;border-radius:var(--r-btn)}
/* زر بأيقونة برك (المهمة 3): مربع 44px يتضغط بسهولة على الهاتف، والاسم فـ aria-label */
.btn-icon{width:44px;min-width:44px;min-height:44px;padding:0;gap:0}
.btn-icon+.btn-icon{margin-inline-start:6px}
.oc-actions,.pc-actions{white-space:nowrap}
.form-hint{display:block;margin-top:4px;font-size:14px;color:var(--muted)}
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(11,11,31,.4);z-index:1000;align-items:center;justify-content:center}
.modal-overlay.show{display:flex}
.modal-box{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:28px;width:100%;max-width:480px;position:relative;max-height:90vh;overflow-y:auto}
.modal-box h4{margin-bottom:20px;font-size:17px}
.modal-close{position:absolute;top:14px;right:16px;background:none;border:none;color:var(--muted);font-size:20px;cursor:pointer}
html[dir=rtl] .modal-close{right:auto;left:16px}
#loginPage{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg);position:fixed;inset:0;z-index:9999}
.login-box{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:40px;width:100%;max-width:380px;text-align:center}
.login-logo{font-size:40px;margin-bottom:8px}
.login-box h2{font-size:22px;font-weight:700;margin-bottom:4px}
.login-box p{font-size:13px;color:var(--muted);margin-bottom:24px}
.err-msg{background:var(--st-refused-bg);border:1px solid #FFB8AD;color:var(--st-refused-fg);padding:12px 14px;border-radius:var(--r-field);font-size:15px;margin-top:12px}
.search-input{min-height:var(--h-field);background:var(--white);border:1px solid var(--line);color:var(--ink);border-radius:var(--r-field);padding:10px 14px;font-family:inherit;font-size:16px;width:240px;max-width:100%}
.search-input:focus{outline:none;border-color:var(--brand);box-shadow:var(--focus-ring)}
.plan-gate{text-align:center;padding:60px 20px;color:var(--muted)}
.plan-gate i{font-size:56px;opacity:.3;margin-bottom:16px;display:block}
/* الاشتراكات (D3، قسم الأسعار فـ Landing.dc.html): Pro بـ brand و"الأكثر طلبًا"، Business بيضاء بإطار brand */
.plans-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px;align-items:stretch}
.plan-card{position:relative;border-radius:28px;background:var(--white);color:var(--ink);border:1px solid var(--line);padding:24px;display:flex;flex-direction:column;gap:14px;min-width:0;transition:.2s}
.plan-card:hover{transform:translateY(-2px)}
.plan-name{margin:0;font-size:20px;font-weight:700}
.plan-price{font-size:36px;font-weight:700;line-height:1.1;white-space:nowrap}
.plan-price small{font-size:16px;font-weight:500;color:var(--muted)}
.plan-note{min-height:22px;font-size:15px;font-weight:600;color:var(--muted)}
.plan-features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;font-size:16px}
.plan-feature{display:flex;align-items:flex-start;gap:10px;line-height:1.5}
.plan-feature svg{width:18px;height:18px;margin-top:3px;flex-shrink:0;color:var(--brand)}
.plan-feature.no{color:var(--muted)}
.plan-feature.no svg{color:var(--flash)}
.plan-top{position:absolute;top:22px;inset-inline-end:22px;padding:6px 12px;border-radius:var(--r-pill);background:var(--volt);color:var(--ink);font-size:13px;font-weight:700}
.plan-pro{background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:0 30px 60px rgba(59,43,255,.3)}
.plan-pro .plan-price small,.plan-pro .plan-note{color:var(--brand-light)}
.plan-pro .plan-feature svg{color:var(--volt)}
.plan-business{border:2px solid var(--brand)}
.plan-early{margin-top:16px;border:2px solid var(--brand)}
.plan-offer{align-self:flex-start;padding:6px 12px;border-radius:var(--r-pill);background:var(--volt);color:var(--ink);font-size:14px;font-weight:700}
.plan-slots{align-self:flex-start;padding:4px 12px;border-radius:var(--r-pill);background:var(--brand-light);color:var(--brand-dark);font-size:14px;font-weight:700}
.plan-early .plan-note s{text-decoration-thickness:2px}
.plan-info{margin-top:16px;border-radius:var(--r-card);background:var(--white);padding:20px 22px;display:flex;flex-direction:column;gap:10px;font-size:16px;color:var(--text)}
.plan-info p{margin:0;display:flex;align-items:flex-start;gap:10px}
.plan-info svg{color:var(--brand);margin-top:2px}
.plan-current{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;border-radius:var(--r-card);background:var(--brand-light);padding:14px 20px;font-size:16px;color:var(--ink)}
.plan-current[hidden]{display:none}
.plan-current-lbl{color:var(--brand-dark);font-weight:600}
.plan-current strong{font-size:18px}
.plan-current-exp{color:var(--muted);font-size:15px}
.plan-current-exp.warn{color:var(--st-pending-fg);font-weight:700}
.plan-current-exp.danger{color:var(--st-refused-fg);font-weight:700}
.plan-current-pill{align-self:flex-start;padding:6px 12px;border-radius:var(--r-pill);background:var(--brand-light);color:var(--brand-dark);font-size:13px;font-weight:700}
.plan-current-pill[hidden]{display:none}
.plan-pro .plan-current-pill{background:#fff}
.plan-card.current{box-shadow:0 0 0 3px var(--brand-dark)}
.plan-pro.current{box-shadow:0 0 0 3px var(--volt),0 30px 60px rgba(59,43,255,.3)}
.plan-contact{align-self:flex-start;margin-top:4px}
.usage-card{border-radius:var(--r-card);background:var(--white);padding:18px 22px;margin-bottom:12px;display:flex;flex-direction:column;gap:10px}
.usage-row{display:flex;justify-content:space-between;gap:12px;font-size:16px}
.plan-cta{margin-top:auto;min-height:54px;border-radius:16px;border:2px solid var(--brand-light);background:var(--brand-light);color:var(--brand-dark);font-family:inherit;font-size:17px;font-weight:700;cursor:pointer;transition:background .2s,color .2s}
.plan-cta:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.plan-cta[hidden]{display:none}
.plan-cta:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.plan-pro .plan-cta{background:var(--volt);border-color:var(--volt);color:var(--ink)}
.plan-pro .plan-cta:hover{background:#C6F21F;border-color:#C6F21F;color:var(--ink)}
.plan-business .plan-cta,.plan-early .plan-cta{background:var(--brand);border-color:var(--brand);color:#fff}
.plan-business .plan-cta:hover,.plan-early .plan-cta:hover{background:var(--brand-dark);border-color:var(--brand-dark)}
@media (max-width:640px){.plan-grid{grid-template-columns:1fr}.plan-pro{order:-1}.plan-price{font-size:34px}}
/* /plans */
.store-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.store-card{background:var(--card);border:1px solid var(--border);border-radius:14px;overflow:hidden;transition:.2s}
.store-card:hover{border-color:var(--brand-light);transform:translateY(-2px)}
.store-card img{width:100%;height:160px;object-fit:cover}
.store-card-body{padding:14px}
.store-card-title{font-size:14px;font-weight:600;margin-bottom:4px}
.store-card-price{font-size:18px;font-weight:700;color:var(--accent)}
.store-badge{font-size:10px;padding:2px 8px;border-radius:20px}
#shopApp{display:none;min-height:100vh;background:var(--bg)}
.shop-header{position:sticky;top:0;z-index:200;background:rgba(255,255,255,.96);border-bottom:1px solid var(--border);backdrop-filter:blur(14px);padding:12px 16px}
.shop-header-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1200px;margin:0 auto;flex-wrap:wrap}
.shop-brand{display:flex;align-items:center;gap:10px}
.shop-brand-icon{width:40px;height:40px;border-radius:12px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex-shrink:0;overflow:hidden}
.shop-brand-icon.has-img{background:var(--white);border:1px solid var(--line)}
.shop-brand-icon img{width:100%;height:100%;object-fit:contain}
.track-brand{display:flex;align-items:center;gap:10px;margin-bottom:12px}
/* اختيار لون المتجر (D4a): --sw من tokens.css */
.swatch-row{display:flex;flex-wrap:wrap;gap:8px}
.swatch-row .swatch{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:var(--h-btn-sm);padding:0 12px 0 10px;margin:0;border:1px solid var(--line);border-radius:var(--r-btn);background:var(--white);color:var(--ink);font-size:14px;font-weight:500;cursor:pointer}
.swatch::before{content:"";display:block;flex-shrink:0;width:20px;height:20px;border-radius:6px;background:var(--sw)}
.swatch input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.swatch-row .swatch:has(input:checked){border-color:var(--sw);box-shadow:0 0 0 2px var(--sw);font-weight:700}
.swatch:has(input:focus-visible){outline:2px solid var(--brand);outline-offset:2px}
.shop-brand-name{font-size:16px;font-weight:800}
.shop-brand-tag{font-size:11px;color:var(--muted)}
.shop-body{max-width:1200px;margin:0 auto;padding:20px 16px}
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.shop-card{background:var(--card);border:1px solid var(--border);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:.2s}
.shop-card:hover{border-color:var(--brand-light);transform:translateY(-2px);box-shadow:var(--shadow)}
.shop-card-img{height:160px;display:flex;align-items:center;justify-content:center;font-size:50px;background:var(--card2);border-bottom:1px solid var(--border);overflow:hidden}
.shop-card-img img{width:100%;height:100%;object-fit:cover}
.shop-card-body{padding:14px;flex:1;display:flex;flex-direction:column;gap:4px}
.shop-card-name{font-size:14px;font-weight:700}
.shop-card-cat{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}
.shop-card-footer{padding:10px 14px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px}
.shop-price{font-size:17px;font-weight:800;color:var(--green)}
.shop-add-btn{background:var(--accent);color:#fff;border:none;border-radius:7px;padding:7px 12px;font-size:12px;font-weight:700;cursor:pointer}
.shop-add-btn:disabled{background:var(--muted);cursor:not-allowed;opacity:.5}
.cart-overlay{position:fixed;inset:0;background:rgba(11,11,31,.4);z-index:8500;display:none}
.cart-overlay.open{display:block}
.cart-drawer{position:fixed;top:0;right:0;height:100vh;width:360px;max-width:95vw;background:var(--card);border-left:1px solid var(--border);z-index:8600;display:flex;flex-direction:column;transform:translateX(100%);transition:.3s}
.cart-drawer.open{transform:translateX(0)}
.cart-head{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.cart-items{flex:1;overflow-y:auto;padding:12px 16px}
.cart-item{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}
.cart-item-img{width:48px;height:48px;border-radius:8px;background:var(--card2);display:flex;align-items:center;justify-content:center;font-size:22px;overflow:hidden;flex-shrink:0}
.cart-item-img img{width:100%;height:100%;object-fit:cover}
.cart-item-info{flex:1;min-width:0}
.cart-item-name{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cart-item-price{font-size:12px;color:var(--green);font-weight:700}
.cart-qty{display:flex;align-items:center;gap:6px}
.cart-qty-btn{width:24px;height:24px;border-radius:6px;border:1px solid var(--border);background:var(--card2);color:var(--text);cursor:pointer;font-weight:900;font-size:14px}
.cart-footer{padding:14px 16px;border-top:1px solid var(--border)}
.shop-footer{text-align:center;padding:20px;color:var(--muted);font-size:11px;border-top:1px solid var(--border);margin-top:24px}
.shop-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:16px}
.shop-chip{background:var(--card);border:1px solid var(--border);color:var(--muted);padding:6px 14px;border-radius:20px;font-size:12px;cursor:pointer;white-space:nowrap;transition:.2s}
.shop-chip:hover{border-color:var(--accent)}
.shop-chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.shop-sort{min-height:var(--h-btn-sm);background:var(--white);border:1px solid var(--line);color:var(--ink);border-radius:var(--r-field);padding:0 12px;font-family:inherit;font-size:16px}
.shop-track-link{font-size:12px;color:var(--accent);cursor:pointer;font-weight:700;white-space:nowrap}
.pdp-overlay{display:none;position:fixed;inset:0;background:rgba(11,11,31,.45);z-index:9200;align-items:center;justify-content:center;padding:16px}
.pdp-overlay.open{display:flex}
.pdp-box{background:var(--card);border:1px solid var(--border);border-radius:16px;max-width:640px;width:100%;max-height:90vh;overflow-y:auto;position:relative}
.pdp-close{position:absolute;top:12px;right:12px;background:rgba(0,0,0,.4);color:#fff;border:none;border-radius:50%;width:32px;height:32px;font-size:16px;cursor:pointer;z-index:5}
.pdp-img-wrap{position:relative;height:280px;background:var(--card2);display:flex;align-items:center;justify-content:center;font-size:60px;overflow:hidden}
.pdp-img-wrap img{width:100%;height:100%;object-fit:cover}
.pdp-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.45);color:#fff;border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:16px;z-index:3}
.pdp-nav.prev{left:10px}.pdp-nav.next{right:10px}
.pdp-media{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.pdp-media>img{width:100%;height:100%;object-fit:cover}
/* سلايدر صور المنتج (D4a): نقاط فأسفل الصورة كيما Shop.dc.html */
.sh-slider{width:100%;height:100%}
.sh-slider .swiper-slide{background:var(--card2)}
.sh-slider img{width:100%;height:100%;object-fit:cover;display:block}
.sh-slider .swiper-pagination{bottom:6px;line-height:0}
.sh-slider .swiper-pagination-bullet{width:6px;height:6px;margin:0 2px!important;border-radius:999px;background:rgba(11,11,31,.3);opacity:1;transition:width .3s}
.sh-slider .swiper-pagination-bullet-active{width:16px;background:var(--brand)}
.pdp-body{padding:20px}
.track-panel{display:none;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px;margin-bottom:16px}
.track-panel.open{display:block}
.track-result{background:var(--card2);border-radius:10px;padding:12px;margin-top:8px;font-size:13px}
.stars-display{color:#E0A100;font-size:13px;letter-spacing:1px}
.rate-widget{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:10px;margin-top:8px}
.rate-stars{font-size:22px;letter-spacing:4px;cursor:pointer;color:var(--border);user-select:none}
.rate-stars span.filled{color:#E0A100}
.rate-comment{width:100%;background:var(--white);border:1px solid var(--line);color:var(--ink);border-radius:var(--r-field);padding:10px 14px;font-family:inherit;font-size:16px;margin-top:8px;resize:vertical;min-height:72px}
.review-item{border-bottom:1px solid var(--border);padding:10px 0}
.review-item:last-child{border-bottom:none}
.thumb-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.thumb-item{position:relative;width:56px;height:56px;border-radius:8px;overflow:hidden;border:1px solid var(--border)}
.thumb-item img{width:100%;height:100%;object-fit:cover}
.thumb-item .rm{position:absolute;top:1px;right:1px;background:rgba(0,0,0,.6);color:#fff;border:none;width:16px;height:16px;font-size:10px;border-radius:50%;cursor:pointer;line-height:1}
@media(max-width:768px){
  #sidebar{width:248px;max-width:85vw;left:-248px;box-shadow:var(--shadow)}
  html[dir=rtl] #sidebar{right:-248px;left:auto}
  #sidebar.open{left:0}
  html[dir=rtl] #sidebar.open{right:0;left:auto}
  #main{margin-left:0!important;margin-right:0!important;padding:16px}
  .search-input{width:100%}
}
.toast-wrap{position:fixed;bottom:24px;right:24px;z-index:9000;display:flex;flex-direction:column;gap:8px}
.toast{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:12px 18px;font-size:13px;box-shadow:var(--shadow);animation:slideIn .3s ease}
.toast.ok{border-left:3px solid var(--green)}
.toast.err{border-left:3px solid var(--red)}
@keyframes slideIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
.section{display:none}.section.active{display:block}
.spinner{display:inline-block;width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.empty-state{text-align:center;padding:60px;color:var(--muted);font-size:14px}
.empty-state i{font-size:48px;opacity:.3;display:block;margin-bottom:12px}
select.status-sel:focus,.shop-sort:focus,.rate-comment:focus,.conv-chat-input textarea:focus{outline:none;border-color:var(--brand);box-shadow:var(--focus-ring)}
select.status-sel{min-height:var(--h-btn-sm);background:var(--white);border:1px solid var(--line);color:var(--ink);border-radius:var(--r-field);padding:0 10px;font-family:inherit;font-size:16px;cursor:pointer}
.messages-wrap{display:flex;gap:16px;height:calc(100vh - 160px);min-height:500px}
.conv-list-wrap{width:300px;flex-shrink:0;background:var(--card);border:1px solid var(--border);border-radius:14px;display:flex;flex-direction:column;overflow:hidden}
.conv-list-head{padding:14px 16px;border-bottom:1px solid var(--border);font-weight:700;font-size:14px}
.conv-list{flex:1;overflow-y:auto}
.conv-item{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border);cursor:pointer;transition:.2s}
.conv-item:hover{background:var(--bg)}
.conv-item.active{background:var(--brand-light)}
.conv-avatar{width:38px;height:38px;border-radius:50%;background:var(--card2);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.conv-info{flex:1;min-width:0}
.conv-name{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.conv-last{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.conv-time{font-size:10px;color:var(--muted);flex-shrink:0}
.conv-right-wrap{flex:1;background:var(--card);border:1px solid var(--border);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.conv-chat-panel{flex:1;display:flex;flex-direction:column;overflow:hidden}
.conv-chat-head{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.conv-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px}
.msg-bubble-wrap{display:flex}
.msg-bubble-wrap.msg-out{justify-content:flex-end}
.msg-bubble-wrap.msg-in{justify-content:flex-start}
.msg-bubble{max-width:70%;padding:9px 13px;border-radius:14px;font-size:13px;position:relative}
.msg-in .msg-bubble{background:var(--card2);border-bottom-left-radius:4px}
.msg-out .msg-bubble{background:var(--accent);color:#fff;border-bottom-right-radius:4px}
.msg-meta{font-size:9px;opacity:.7;margin-top:4px}
.conv-chat-input{padding:12px 16px;border-top:1px solid var(--border);display:flex;gap:8px}
.conv-chat-input textarea{flex:1;background:var(--white);border:1px solid var(--line);color:var(--ink);border-radius:var(--r-field);padding:10px 14px;font-size:16px;resize:none;min-height:var(--h-field);max-height:120px;font-family:inherit}
.conv-back-btn{display:none;background:none;border:none;color:var(--accent);font-size:13px;cursor:pointer;font-weight:700}
@media(max-width:768px){
  .messages-wrap{flex-direction:column;height:auto}
  .conv-list-wrap{width:100%;height:400px}
  .conv-list-wrap.hide-mobile{display:none}
  .conv-right-wrap{display:none;height:520px}
  .conv-right-wrap.show-mobile{display:flex}
  .conv-back-btn{display:inline-block}
}
.chart-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px;display:flex;flex-direction:column;height:100%}
.chart-card h5{font-size:14px;font-weight:700;margin-bottom:14px}
.chart-canvas-wrap{position:relative;height:220px;flex:1}
.chart-caption{font-size:11px;color:var(--muted);text-align:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--border);line-height:1.6}
.chart-caption strong{color:var(--text)}
.perm-chip{display:flex;align-items:center;gap:6px;background:var(--card2);border:1px solid var(--border);border-radius:8px;padding:7px 10px;font-size:12px;cursor:pointer;user-select:none}
.perm-chip input{cursor:pointer}
.member-perm-badge{display:inline-block;background:var(--brand-light);color:var(--brand-dark);border-radius:6px;padding:2px 7px;font-size:10px;margin:1px}
/* لوحة التحكم (D2، Dashboard.dc.html) */
.dash-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
.dash-hello{margin:0;font-size:30px;font-weight:700;color:var(--ink);line-height:1.25}
.dash-sub{margin:4px 0 0;font-size:16px;color:var(--muted)}
/* KPI: الرقم كبير فسطر واحد (ما يتكسرش)، والتفصيل تحتو بخط صغير */
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px;margin-bottom:16px}
.kpi{border-radius:var(--r-card);background:var(--white);color:var(--ink);padding:22px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0}
.kpi-lbl{font-size:15px;color:var(--muted)}
.kpi-num{display:block;max-width:100%;font-size:clamp(28px,7vw,44px);font-weight:700;line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums}
.kpi-num small{font-size:.5em;font-weight:700}
.kpi-num-flash{color:var(--flash)}
.kpi-sub{display:block;font-size:14px;color:#3A3B4F}
.kpi-pill{padding:4px 10px;border-radius:var(--r-pill);background:var(--volt);color:var(--ink);font-size:13px;font-weight:700}
.kpi-pill[hidden],.kpi-sub:empty{display:none}
.kpi-brand{background:var(--brand);color:#fff}
.kpi-brand .kpi-lbl{color:var(--brand-light)}
.kpi-volt{background:var(--volt);color:var(--ink)}
.kpi-volt .kpi-lbl,.kpi-volt .kpi-sub{color:var(--st-delivered-fg)}
.kpi-volt .kpi-sub{font-weight:700}
/* صفوف اللوحة: عمود عريض وعمود جانبي، يرجعو تحت بعض فالهاتف */
.dash-row{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}
.dash-main{flex:2 1 420px}
.dash-side{flex:1 1 280px}
.dash-col{flex:1 1 280px;min-width:0;display:flex;flex-direction:column;gap:16px}
.dash-card{min-width:0;border-radius:var(--r-card);background:var(--white);padding:22px;display:flex;flex-direction:column;gap:16px}
.dash-card-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px}
.dash-card-head h2{margin:0;font-size:18px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:8px}
.dash-card-meta{font-size:14px;color:var(--muted)}
.dash-card .chart-canvas-wrap{height:220px;flex:none}
/* توزيع الحالات */
.status-bar{display:flex;height:18px;border-radius:var(--r-pill);overflow:hidden;gap:3px;background:var(--soft)}
.status-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.status-legend li{display:flex;align-items:center;gap:10px;font-size:15px}
.status-name{flex:1}
.status-dot{width:12px;height:12px;border-radius:4px;flex-shrink:0}
.seg-delivered{background:var(--volt)}
.seg-confirmed{background:var(--brand)}
.seg-pending{background:var(--yellow)}
.seg-refused{background:var(--flash)}
/* آخر الطلبيات: الجدول يتمرّر داخل البطاقة فالهاتف، ماشي الصفحة */
.dash-link{background:none;border:0;padding:0;font-family:inherit;font-size:14px;font-weight:600;color:var(--brand);cursor:pointer}
.dash-link:hover{color:var(--brand-dark)}
.dash-table-wrap{overflow-x:auto;margin:0}
.dash-table{width:100%;min-width:520px;border-collapse:collapse;font-size:14px}
.dash-table th{background:none;padding:10px 8px;font-size:14px;font-weight:600;color:var(--muted);text-transform:none;letter-spacing:0}
.dash-table td{padding:14px 8px;border-bottom:0;border-top:1px solid var(--soft);white-space:nowrap}
.dash-table tr:hover td{background:none}
.dash-order-id{font-weight:600;max-width:150px;overflow:hidden;text-overflow:ellipsis;text-align:right}
html[dir=ltr] .dash-order-id{text-align:left}
.dash-amount{font-weight:600}
.dash-table-sm{min-width:0}
.dash-table-sm td:first-child{max-width:0;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash-ellipsis{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dash-empty{text-align:center;color:var(--muted);padding:24px 8px}
.dash-card[hidden]{display:none}
/* بطاقة البوت */
.channel-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.channel-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:15px}
.bot-usage{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px solid var(--soft)}
.bot-usage[hidden]{display:none}
.bot-usage-text{font-size:14px;color:var(--text)}
.usage-track{height:8px;border-radius:var(--r-pill);background:var(--soft);overflow:hidden}
.usage-fill{height:8px;border-radius:var(--r-pill);background:var(--brand);width:0}
.usage-fill.warn{background:var(--yellow)}
.usage-fill.full{background:var(--flash)}
/* الأكثر مبيعًا: الاسم الطويل يتقطّع بـ "…" */
.top-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.top-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:14px;margin-bottom:6px}
.top-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.top-row strong{flex-shrink:0;white-space:nowrap}
/* تنبيهات الباقة أعلى اللوحة (ردود البوت، الانتهاء) */
#planAlerts{margin-bottom:16px}
.plan-alert{padding:14px 18px;border-radius:16px;font-size:16px;font-weight:600;margin-bottom:8px;border:1px solid}
.plan-alert-warn{background:var(--st-pending-bg);color:var(--st-pending-fg);border-color:#FFD48A}
.plan-alert-danger{background:var(--st-refused-bg);color:var(--st-refused-fg);border-color:#FFB8AD}
/* عنصر قائمة غير مفعّل بعد (الشحن) */
.nav-item.disabled{opacity:.55;cursor:not-allowed}
.nav-item.disabled:hover{background:none}
.soon-badge{margin-inline-start:auto;font-size:12px;font-weight:700;padding:2px 10px;border-radius:var(--r-pill);background:var(--st-pending-bg);color:var(--st-pending-fg)}
/* حركة مخفّضة: بلا انتقالات ولا تحريك عند الطلب */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{transition:none!important;scroll-behavior:auto!important}
  .stat-card:hover,.plan-card:hover,.store-card:hover,.shop-card:hover{transform:none}
  .toast{animation:none}
}
