/**
 * پنل داخلی مستقل بازاربان — Shell (سایدبار + نوار بالا + میزکار نقش‌محور)
 *
 * منبع: mockups/internal-panel.html (بخش ۱ — تأییدشده).
 * توکن‌های رنگ/فاصله/شعاع پایه از SPE_Theme::css_vars() می‌آید (تزریق در <head>
 * توسط SPE_Internal_Panel::render()). این فایل فقط توکن‌های اختصاصیِ همین
 * پنل (اندازه سایدبار/نوار بالا، رنگ سطوح دسترسی) + چیدمان را اضافه می‌کند.
 *
 * @package    ServicePricingEngine
 * @since      15.244.2
 */
:root{
  --spe-sidebar-expanded-w:256px;
  --spe-sidebar-w:var(--spe-sidebar-expanded-w); --spe-topbar-h:60px; --spe-mob-nav-h:60px;
  --spe-trans:.16s ease;
  --lvl-admin:#7c3aed;  --lvl-admin-bg:#f3e8ff;
  --lvl-manager:#2563eb; --lvl-manager-bg:#e8f0fe;
  --lvl-agent:#059669;  --lvl-agent-bg:#e3f6ef;
  --lvl-viewer:#64748b; --lvl-viewer-bg:#eef1f4;
}
html.spe-ip-root{margin:0;height:100%;min-height:100%;background:var(--spe-bg);overflow:hidden;direction:ltr}
html.spe-ip-root body{margin:0;height:100%;min-height:100%;background:var(--spe-bg);overflow:hidden}
body.spe-ip-body{margin:0;height:100dvh;min-height:0;font-family:var(--spe-font);font-size:13.5px;color:var(--spe-text);background:var(--spe-bg);line-height:1.55;-webkit-font-smoothing:antialiased;overscroll-behavior:none;direction:rtl}
.spe-ip-body *{box-sizing:border-box}
.spe-ip-body button{font-family:inherit}
.spe-ip-body a{color:inherit}

/* ══════════════════ Shell ══════════════════ */
.ip{display:flex;height:100dvh;min-height:0;overflow:hidden;direction:rtl}

/* ── سایدبار ── */
.ip-side{width:var(--spe-sidebar-w);flex:0 0 var(--spe-sidebar-w);background:var(--spe-surface);border-inline-end:1px solid var(--spe-border);position:sticky;top:0;height:100%;min-height:0;z-index:100;transition:width var(--spe-trans),transform var(--spe-trans);direction:rtl}
.ip-side-inner{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;direction:rtl}

.ip-brand{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--spe-border);flex:0 0 68px;min-width:0;position:relative}
.ip-brand-logo{width:38px;height:38px;border-radius:var(--spe-radius-sm);background:linear-gradient(135deg,var(--spe-accent),var(--spe-accent-dark));display:flex;align-items:center;justify-content:center;flex:0 0 auto;color:#fff;overflow:hidden}
.ip-brand-logo svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:2}
.ip-brand-logo.has-image{background:var(--spe-surface-2);border:1px solid var(--spe-border);padding:4px}
.ip-brand-logo.has-image img{width:100%;height:100%;object-fit:contain;display:block}
.ip-brand-txt{min-width:0;flex:1;overflow:hidden}
.ip-brand-txt b{display:block;font-size:16px;line-height:1.45;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:0}
.ip-brand-txt small{display:block;font-size:10.5px;line-height:1.45;color:var(--spe-text-3);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}

.ip-side-close{display:none;width:44px;height:44px;align-items:center;justify-content:center;flex:0 0 auto;margin-inline-start:auto;border:0;border-radius:var(--spe-radius-sm);background:transparent;color:var(--spe-text-2);cursor:pointer}
.ip-side-close:hover{background:var(--spe-surface-2);color:var(--spe-text)}
.ip-side-close:focus-visible{outline:2px solid var(--spe-accent);outline-offset:2px}
.ip-side-close svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2}
.ip-nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:4px 10px 14px;scrollbar-width:thin;scrollbar-gutter:stable;direction:ltr;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.ip-nav>:is(.ip-nav-direct,.ip-grp,.ip-logout){direction:rtl}
.ip-nav-direct{padding:0}
.ip-grp{border-radius:var(--spe-radius-sm);margin-top:2px}
.ip-grp-hd{display:flex;align-items:center;gap:9px;width:100%;min-width:0;padding:8px 10px;border:none;background:none;cursor:pointer;font-family:inherit;text-align:right;color:var(--spe-text-2);font-size:13px;line-height:1.45;font-weight:700;letter-spacing:0;border-radius:var(--spe-radius-sm);min-height:36px}
.ip-grp-hd:hover{background:var(--spe-surface-2)}
.ip-grp-hd svg.gi{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;flex:0 0 auto}
.ip-grp-hd span{flex:1;min-width:0;white-space:normal}
.ip-grp-hd svg.chev{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;transition:transform var(--spe-trans);flex:0 0 auto;margin-inline-start:auto}
.ip-grp.is-open .ip-grp-hd svg.chev{transform:rotate(180deg)}
.ip-grp-items{display:none;padding:0 0 4px}
.ip-grp.is-open .ip-grp-items{display:block}

.ip-item{display:flex;align-items:center;gap:9px;width:100%;min-width:0;padding:7px 10px;margin:0;border:none;background:none;border-radius:var(--spe-radius-sm);font-family:inherit;font-size:12.5px;line-height:1.5;font-weight:500;color:var(--spe-text-2);cursor:pointer;text-align:right;text-decoration:none;transition:var(--spe-trans);min-height:36px}
.ip-item svg{width:15px;height:15px;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:1.8}
.ip-item span{flex:1;min-width:0;white-space:normal}
.ip-item .ip-badge{margin-inline-start:auto}
.ip-item:hover{background:var(--spe-surface-2);color:var(--spe-text)}
.ip-item.is-active{background:var(--spe-accent-soft);color:var(--spe-accent-dark);font-weight:700;box-shadow:inset 3px 0 0 0 var(--spe-accent)}
.ip-badge{font-size:9.5px;font-weight:800;min-width:17px;height:17px;padding:0 5px;border-radius:var(--spe-radius-pill);background:var(--spe-danger);color:#fff;display:inline-flex;align-items:center;justify-content:center}

.ip-logout{border:none;background:none;font-family:inherit;cursor:pointer;color:var(--spe-danger);font-size:12.5px;line-height:1.5;font-weight:700;padding:10px;margin:6px 0 0;text-align:right;text-decoration:none;display:flex;align-items:center;gap:9px;border-radius:0 0 var(--spe-radius-sm) var(--spe-radius-sm);min-height:36px;border-top:1px solid var(--spe-border);width:100%;min-width:0}
.ip-logout:hover{background:var(--spe-danger-bg)}
.ip-logout svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;flex:0 0 auto}
.ip-logout span{flex:0 0 auto;white-space:nowrap}

.ip-collapse-btn{width:28px;height:28px;border:1px solid var(--spe-border-strong);background:var(--spe-surface);border-radius:50%;position:absolute;inset-inline-end:-14px;top:70px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:5;color:var(--spe-text-2);box-shadow:var(--spe-shadow-sm)}
.ip-collapse-btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;transition:transform var(--spe-trans)}
body.is-collapsed .ip-collapse-btn svg{transform:rotate(180deg)}
body.is-collapsed{--spe-sidebar-w:72px}
body.is-collapsed .ip-brand-txt,
body.is-collapsed .ip-grp-hd span,body.is-collapsed .ip-grp-hd svg.chev,
body.is-collapsed .ip-item span,body.is-collapsed .ip-badge,body.is-collapsed .ip-logout span{display:none}
body.is-collapsed .ip-brand{justify-content:center;padding:var(--spe-space-3) var(--spe-space-2)}
body.is-collapsed .ip-item,body.is-collapsed .ip-grp-hd,body.is-collapsed .ip-logout{justify-content:center}
body.is-collapsed .ip-grp-items{display:none!important}
body.is-collapsed .ip-grp.is-open .ip-grp-items{display:block!important}
/* Fix BG-1H4DYF/BG-2QYU56: collapsed rail + open group — kill submenu indent (leaked 36px/24px padding-inline-start) and stretch container so icons center inside the 72px rail */
body.is-collapsed .ip-grp.is-open .ip-grp-items{display:block!important;width:100%}
body.is-collapsed #sidebar .ip-grp-items .ip-item{padding-inline-start:10px;padding-inline-end:10px;width:100%;justify-content:center}
body.is-collapsed #sidebar .ip-grp-items .ip-item svg{flex:0 0 auto}
/* nav-collapsed-width-fix BG-1H4DYF/BG-2QYU56: force the nav column to fill the collapsed rail instead of shrink-to-fit */
body.is-collapsed #sidebar .ip-nav{width:100%;max-width:100%}
body.is-collapsed #sidebar .ip-nav .ip-grp{width:100%}
body.is-collapsed #sidebar .ip-nav .ip-grp-items{width:100%}
/* rail-real-estate-fix-v3 BG-1H4DYF/BG-2QYU56: collapsed 76px rail wasted 54px on nested paddings+scrollbar gutter, leaving a 21px column that pushed submenu icons out. Reclaim it. */
body.is-collapsed .ip-side-inner{padding-inline:3px}
body.is-collapsed #sidebar .ip-nav{padding-inline:3px}
body.is-collapsed #sidebar .ip-grp-items .ip-item{padding-inline:10px !important}




/* ── محتوای اصلی ── */
.ip-main{flex:1;min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;position:relative;overflow-y:auto;overflow-x:hidden;direction:ltr;scrollbar-gutter:stable;overscroll-behavior:contain}
.ip-main>:is(.ip-top,.ip-content,.ip-mob-nav){direction:rtl}
.ip-top{height:var(--spe-topbar-h);flex:0 0 var(--spe-topbar-h);background:var(--spe-surface);border-bottom:1px solid var(--spe-border);display:flex;align-items:center;gap:var(--spe-space-3);padding:0 var(--spe-space-5);position:sticky;top:0;z-index:90}
.ip-menu-btn{display:none;width:40px;height:40px;flex:0 0 auto;border:1px solid var(--spe-border);border-radius:var(--spe-radius-sm);background:var(--spe-surface);cursor:pointer;align-items:center;justify-content:center}
.ip-menu-btn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2}
.ip-top-title{font-size:16px;font-weight:800;margin:0;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ip-top-date{font-size:12px;color:var(--spe-text-3);white-space:nowrap;flex:0 0 auto}

.ip-top-actions{display:flex;gap:var(--spe-space-2);align-items:center;position:relative;flex:0 0 auto}

/* @el: top-search | کادر جستجوی نوار بالا — ذره‌بین سمت چپ */
.ip-top-search{
  position:relative;display:flex;align-items:center;
  width:min(280px,40vw);height:40px;flex:0 1 280px;
  border:1px solid var(--spe-border-strong);
  border-radius:var(--spe-radius-sm);
  background:var(--spe-surface-2);
  cursor:text;transition:border-color var(--spe-trans),box-shadow var(--spe-trans),background var(--spe-trans);
  z-index:160;
}
.ip-top-search:hover{border-color:var(--spe-accent);background:var(--spe-surface)}
.ip-top-search:focus-within,.ip-top-search.is-open{
  border-color:var(--spe-accent);background:var(--spe-surface);
  box-shadow:0 0 0 3px var(--spe-accent-soft);
}
.ip-top-search>svg{
  position:absolute;left:11px;top:50%;transform:translateY(-50%);
  width:16px;height:16px;stroke:var(--spe-text-3);fill:none;stroke-width:1.8;pointer-events:none;z-index:1;
}
.ip-top-search>input{
  width:100%;height:100%;border:0;outline:0;background:transparent;
  padding:0 12px 0 40px;direction:rtl;text-align:start;font-family:inherit;font-size:13px;color:var(--spe-text);cursor:text;
  position:relative;z-index:1;
}
.ip-top-search>input::placeholder{color:var(--spe-text-3)}

.ip-icon-btn{width:40px;height:40px;border:1px solid var(--spe-border);border-radius:var(--spe-radius-sm);background:var(--spe-surface);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--spe-text-2);position:relative;flex:0 0 auto}
.ip-icon-btn:hover{background:var(--spe-surface-2);color:var(--spe-text)}
.ip-icon-btn.is-open{background:var(--spe-accent-soft);color:var(--spe-accent);border-color:var(--spe-accent)}
.ip-icon-btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8}
.ip-notif-dot{position:absolute;top:8px;inset-inline-end:8px;width:7px;height:7px;border-radius:50%;background:var(--spe-danger);border:2px solid var(--spe-surface)}
.ip-notif-badge{
  position:absolute;top:-5px;inset-inline-end:-5px;min-width:18px;height:18px;padding:0 5px;
  border-radius:var(--spe-radius-pill);background:var(--spe-danger);color:#fff;
  font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;
  border:2px solid var(--spe-surface);font-variant-numeric:tabular-nums;
}
.ip-notif-badge[hidden]{display:none !important}

/* ── زنگوله پیگیری (موکاپ internal-panel-followup-bell) ── */
.ip-fu{
  display:none;position:absolute;inset-inline-end:0;top:calc(100% + 8px);
  width:min(400px,94vw);max-height:min(72vh,520px);
  background:var(--spe-surface);border:1px solid var(--spe-border-strong);
  border-radius:var(--spe-radius);box-shadow:0 12px 40px rgba(0,0,0,.16);
  overflow:hidden;flex-direction:column;z-index:200;
}
.ip-fu.is-open{display:flex}
.ip-fu[hidden]{display:none !important}
.ip-fu-hd{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--spe-border);flex:0 0 auto}
.ip-fu-hd-ic{
  width:32px;height:32px;border-radius:var(--spe-radius-sm);flex:0 0 auto;
  background:var(--spe-accent-soft);color:var(--spe-accent);
  display:flex;align-items:center;justify-content:center;
}
.ip-fu-hd-ic svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8}
.ip-fu-hd-tt{flex:1;min-width:0}
.ip-fu-hd-tt b{display:block;font-size:14px;font-weight:800}
.ip-fu-hd-tt span{display:block;font-size:11px;color:var(--spe-text-3);margin-top:1px}

.ip-fu-tabs{display:flex;gap:4px;padding:8px 10px;border-bottom:1px solid var(--spe-border);flex:0 0 auto;overflow-x:auto}
.ip-fu-tab{
  border:0;background:transparent;color:var(--spe-text-2);font-family:inherit;font-size:12.5px;
  padding:6px 11px;border-radius:var(--spe-radius-pill);cursor:pointer;
  display:inline-flex;gap:6px;align-items:center;white-space:nowrap;
}
.ip-fu-tab:hover{background:var(--spe-bg)}
.ip-fu-tab.is-on{background:var(--spe-accent);color:#fff;font-weight:700}
.ip-fu-tabcnt{
  min-width:17px;height:17px;padding:0 5px;border-radius:9px;font-size:10px;font-weight:800;
  background:var(--spe-danger);color:#fff;display:inline-flex;align-items:center;justify-content:center;
  font-variant-numeric:tabular-nums;
}
.ip-fu-tab.is-on .ip-fu-tabcnt{background:rgba(255,255,255,.28)}
.ip-fu-tabcnt[hidden],.ip-fu-tabcnt[data-n="0"]{display:none !important}

.ip-fu-body{flex:1;overflow-y:auto;padding:6px;scrollbar-width:thin}
.ip-fu-ft{flex:0 0 auto;padding:8px 10px;border-top:1px solid var(--spe-border);display:flex;gap:8px;justify-content:space-between;align-items:center}
.ip-fu-ft a{font-size:12px;font-weight:700;color:var(--spe-accent);text-decoration:none}
.ip-fu-ft a:hover{color:var(--spe-accent-dark)}
.ip-fu-mut{font-size:11px;color:var(--spe-text-3)}

.ip-fu-grp{margin-bottom:4px}
.ip-fu-grp-hd{display:flex;align-items:center;gap:8px;padding:7px 10px 3px;font-size:11px;font-weight:800;color:var(--spe-text-3)}
.ip-fu-grp-hd .cnt{margin-inline-start:auto;font-weight:600;font-variant-numeric:tabular-nums}
.ip-fu-grp-hd.is-overdue{color:var(--spe-danger)}
.ip-fu-grp-hd.is-today{color:var(--spe-warn)}
.ip-fu-grp-hd.is-msg{color:var(--spe-info)}

.ip-fu-item{
  display:flex;align-items:center;gap:10px;width:100%;
  padding:9px 10px;border:0;background:none;border-radius:var(--spe-radius-sm);
  cursor:pointer;text-align:right;color:var(--spe-text);font-family:inherit;text-decoration:none;
}
.ip-fu-item:hover{background:var(--spe-accent-soft)}
.ip-fu-ico{
  width:34px;height:34px;border-radius:var(--spe-radius-sm);flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;
}
.ip-fu-ico svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8}
.ip-fu-ico.is-task{background:var(--spe-warn-bg);color:var(--spe-warn)}
.ip-fu-ico.is-lead{background:#f3e8ff;color:#7c3aed}
.ip-fu-ico.is-chat{background:var(--spe-info-bg);color:var(--spe-info)}
.ip-fu-ico.is-ticket{background:var(--spe-danger-bg);color:var(--spe-danger)}
.ip-fu-ico.is-notif{background:var(--spe-accent-soft);color:var(--spe-accent)}
.ip-fu-ico.is-approval{background:var(--spe-success-bg);color:var(--spe-success)}
.ip-fu-meta{flex:1;min-width:0}
.ip-fu-title{display:block;font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ip-fu-sub{display:block;font-size:11px;color:var(--spe-text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.ip-fu-badge{
  flex:0 0 auto;font-size:10px;font-weight:700;color:var(--spe-text-3);
  padding:2px 7px;border-radius:var(--spe-radius-pill);background:var(--spe-surface-2);border:1px solid var(--spe-border);
}
.ip-fu-badge.is-overdue{color:var(--spe-danger);background:var(--spe-danger-bg);border-color:transparent}
.ip-fu-badge.is-today{color:#92400e;background:var(--spe-warn-bg);border-color:transparent}

.ip-fu-empty{padding:28px 16px;text-align:center;color:var(--spe-text-3)}
.ip-fu-empty b{display:block;color:var(--spe-text-2);margin-bottom:4px;font-size:13px}
.ip-fu-skel{padding:12px}
.ip-fu-skel span{
  display:block;height:42px;border-radius:var(--spe-radius-sm);margin-bottom:8px;
  background:linear-gradient(90deg,var(--spe-surface-2),#eee,var(--spe-surface-2));
  background-size:200% 100%;animation:ip-fu-skel 1.1s ease infinite;
}
@keyframes ip-fu-skel{0%{background-position:100% 0}100%{background-position:-100% 0}}

/* ════════ نتایج جستجو — دراپ‌داون زیر کادر (نه مودال) ════════ */
.ip-omni,
.ip-fu,
.ip-dropdown{
  font-family:var(--spe-font,inherit);
}
.ip-omni{
  display:none;position:absolute;top:calc(100% + 6px);inset-inline-end:0;
  width:min(420px,92vw);max-height:min(70vh,560px);
  background:var(--spe-surface);border:1px solid var(--spe-border-strong);
  border-radius:var(--spe-radius);box-shadow:0 12px 40px rgba(0,0,0,.16);
  overflow:hidden;flex-direction:column;z-index:200;
}
.ip-top-search.is-open .ip-omni{display:flex}
.ip-omni-body{flex:1;overflow-y:auto;padding:6px;scrollbar-width:thin}
.ip-omni-state{padding:18px 14px;text-align:center;color:var(--spe-text-3);font-size:12.5px}
.ip-omni-state b{display:block;color:var(--spe-text-2);margin-bottom:4px;font-size:13px}
.ip-omni-spin{width:20px;height:20px;border:2px solid var(--spe-border-strong);border-top-color:var(--spe-accent);border-radius:50%;margin:0 auto 8px;animation:ip-omni-spin .7s linear infinite}
@keyframes ip-omni-spin{to{transform:rotate(360deg)}}
.ip-omni-grp{margin-bottom:4px}
.ip-omni-grp-hd{display:flex;align-items:center;gap:8px;padding:7px 10px 3px;font-size:11px;font-weight:800;color:var(--spe-text-3);letter-spacing:.02em}
.ip-omni-grp-hd svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8}
.ip-omni-grp-hd .cnt{margin-inline-start:auto;font-weight:600;font-variant-numeric:tabular-nums}
.ip-omni-item{
  display:flex;flex-direction:row;align-items:center;gap:10px;width:100%;
  padding:8px 10px;border:0;background:none;border-radius:var(--spe-radius-sm);
  cursor:pointer;text-align:right;color:var(--spe-text);font-family:var(--spe-font,inherit);text-decoration:none;
  min-height:42px;box-sizing:border-box;
}
.ip-omni-item:hover,.ip-omni-item.is-active{background:var(--spe-accent-soft)}
.ip-omni-ico{
  width:32px;height:32px;border-radius:var(--spe-radius-sm);flex:0 0 auto;
  background:var(--spe-surface-2);border:1px solid var(--spe-border);
  display:flex;align-items:center;justify-content:center;color:var(--spe-text-2);
}
.ip-omni-ico svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8}
.ip-omni-ico.is-menu{background:var(--spe-accent-soft);color:var(--spe-accent-dark);border-color:transparent}
.ip-omni-ico.is-party{background:var(--spe-info-bg);color:var(--spe-info);border-color:transparent}
.ip-omni-ico.is-user{background:var(--spe-warn-bg);color:var(--spe-warn);border-color:transparent}
.ip-omni-ico.is-product{background:var(--spe-success-bg);color:var(--spe-success);border-color:transparent}
.ip-omni-ico.is-deal{background:#f3e8ff;color:#7c3aed;border-color:transparent}
.ip-omni-meta{flex:1;min-width:0}
.ip-omni-title{display:block;font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ip-omni-title mark{background:transparent;color:var(--spe-accent-dark);font-weight:800;padding:0}
.ip-omni-sub{display:block;font-size:11px;color:var(--spe-text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.ip-omni-badge{flex:0 0 auto;font-size:10px;font-weight:700;color:var(--spe-text-3);padding:2px 7px;border-radius:var(--spe-radius-pill);background:var(--spe-surface-2);border:1px solid var(--spe-border)}
.ip-omni-enter{flex:0 0 auto;opacity:0;color:var(--spe-text-3)}
.ip-omni-item.is-active .ip-omni-enter,.ip-omni-item:hover .ip-omni-enter{opacity:1}
.ip-omni-enter svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}

.ip-acct-btn{display:inline-flex;align-items:center;gap:8px;height:40px;max-width:220px;padding:0 10px 0 8px;border:1px solid var(--spe-border);border-radius:var(--spe-radius-sm);background:var(--spe-surface);cursor:pointer;font-family:inherit;color:var(--spe-text);flex:0 0 auto}
.ip-acct-btn:hover{background:var(--spe-surface-2)}
.ip-acct-avatar{width:28px;height:28px;border-radius:50%;flex:0 0 auto;overflow:hidden;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;color:#fff;background:var(--spe-accent)}
.ip-acct-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.ip-acct-text{display:flex;align-items:baseline;gap:6px;min-width:0;text-align:right}
.ip-acct-name{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ip-acct-role{font-size:11px;font-weight:600;color:var(--spe-text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto}

.ip-btn{display:inline-flex;align-items:center;gap:6px;padding:0 15px;height:40px;border-radius:var(--spe-radius-sm);font-size:13px;font-weight:700;font-family:inherit;cursor:pointer;border:1px solid transparent;text-decoration:none;white-space:nowrap}
.ip-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}
.ip-btn-primary{background:var(--spe-accent);color:#fff}
.ip-btn-primary:hover{background:var(--spe-accent-dark)}
.ip-btn-ghost{background:var(--spe-surface);border-color:var(--spe-border-strong);color:var(--spe-text)}

.ip-menu-wrap{position:relative}
.ip-dropdown{display:none;position:absolute;inset-inline-end:0;top:calc(100% + 8px);min-width:210px;background:var(--spe-surface);border:1px solid var(--spe-border-strong);border-radius:var(--spe-radius);box-shadow:0 12px 40px rgba(0,0,0,.16);padding:6px;z-index:150}
.ip-dropdown.is-open{display:block}
.ip-dd-item{display:flex;flex-direction:row;align-items:center;gap:9px;width:100%;padding:10px 11px;border:none;background:none;font-family:inherit;font-size:13px;cursor:pointer;border-radius:var(--spe-radius-sm);text-align:right;color:var(--spe-text);text-decoration:none;min-height:36px;box-sizing:border-box}
.ip-dd-item:hover{background:var(--spe-surface-2)}
.ip-dd-item svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8}
.ip-dd-item.is-danger{color:var(--spe-danger)}
.ip-dd-sep{height:1px;background:var(--spe-border);margin:5px 4px}

.ip-content{flex:1;padding:12px;overflow:visible;padding-bottom:12px;max-width:1240px;width:100%;margin:0 auto;box-sizing:border-box}
.ip-content--page{max-width:none;padding:12px;overflow:visible}
.ip-content--embed{max-width:none;padding:12px;overflow:visible;display:flex;flex-direction:column}
.ip-view{display:none}.ip-view.is-on{display:block}
.ip-content--page .ip-view.is-on{flex:1;min-height:0}
.ip-ws-page{margin:0;padding:0}
.ip-ws-page .wrap{margin:0;padding:0;max-width:none}
.ip-ws-state{padding:28px 16px;text-align:center;background:var(--spe-surface);border:1px solid var(--spe-border);border-radius:var(--spe-radius);margin:0}
.ip-ws-state h2{margin:0 0 8px;font-size:18px}
.ip-ws-state p{margin:0 0 16px;color:var(--spe-text-2);font-size:13.5px}
.ip-ws-state--loading .ip-ws-skel{display:block;height:14px;margin:10px 0;border-radius:6px;background:linear-gradient(90deg,var(--spe-surface-2),var(--spe-border),var(--spe-surface-2));background-size:200% 100%;animation:ip-skel 1.2s linear infinite}
@keyframes ip-skel{0%{background-position:100% 0}100%{background-position:-100% 0}}
@media (max-width:768px){.ip-content,.ip-content--page,.ip-content--embed{padding:12px}}

/* ── میزکار (Home) ── */
.ip-hero{background:linear-gradient(135deg,var(--spe-accent) 0%,color-mix(in srgb,var(--spe-accent) 55%,#8b5cf6) 100%);color:#fff;border-radius:var(--spe-radius-lg);padding:var(--spe-space-6);margin-bottom:var(--spe-space-5);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spe-space-4);box-shadow:0 14px 34px color-mix(in srgb,var(--spe-accent) 24%,transparent)}
.ip-hero h2{margin:0;font-size:18.5px;font-weight:800;color:#fff}
.ip-hero p{margin:6px 0 0;font-size:13px;opacity:.92}
.ip-hero.lvl-admin{background:linear-gradient(135deg,var(--lvl-admin) 0%,#a78bfa 100%)}
.ip-hero.lvl-manager{background:linear-gradient(135deg,var(--lvl-manager) 0%,#60a5fa 100%)}
.ip-hero.lvl-viewer{background:linear-gradient(135deg,#475569 0%,var(--lvl-viewer) 100%)}
.ip-btn-hero{background:color-mix(in srgb,#fff 22%,transparent);color:#fff;border-color:transparent}

.ip-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spe-space-3);margin-bottom:var(--spe-space-5)}
.ip-kpi{background:var(--spe-surface);border-radius:var(--spe-radius);padding:var(--spe-space-4);position:relative;overflow:hidden;cursor:pointer;text-align:right;border:1px solid var(--spe-border);width:100%;font-family:inherit;transition:transform .15s,box-shadow .15s}
.ip-kpi:hover{transform:translateY(-2px);box-shadow:var(--spe-shadow)}
.ip-kpi::before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:4px;background:var(--k,var(--spe-accent))}
.ip-kpi-ico{width:36px;height:36px;border-radius:var(--spe-radius-sm);margin-bottom:9px;display:flex;align-items:center;justify-content:center;background:var(--kbg,var(--spe-surface-2))}
.ip-kpi-ico svg{width:18px;height:18px;stroke:var(--k,var(--spe-accent));fill:none;stroke-width:2}
.ip-kpi-num{font-size:20px;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}
.ip-kpi-lbl{font-size:11.5px;font-weight:600;color:var(--spe-text-2);margin-top:3px}
.ip-kpi.red{--k:var(--spe-danger);--kbg:var(--spe-danger-bg)}
.ip-kpi.amber{--k:var(--spe-warn);--kbg:var(--spe-warn-bg)}
.ip-kpi.green{--k:var(--spe-success);--kbg:var(--spe-success-bg)}
.ip-kpi.blue{--k:var(--spe-info);--kbg:var(--spe-info-bg)}
.ip-kpi.purple{--k:var(--spe-accent);--kbg:var(--spe-accent-soft)}
.ip-kpi.violet{--k:#7c3aed;--kbg:#f3e8ff}

.ip-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--spe-space-4)}
.ip-card{background:var(--spe-surface);border:1px solid var(--spe-border);border-radius:var(--spe-radius);overflow:hidden}
.ip-card-hd{display:flex;align-items:center;justify-content:space-between;padding:var(--spe-space-3) var(--spe-space-4);border-bottom:1px solid var(--spe-border);background:var(--spe-surface-2)}
.ip-card-hd h3{margin:0;font-size:14px;font-weight:800}
.ip-card-hd a,.ip-card-hd button.ip-link{font-size:12px;color:var(--spe-accent);text-decoration:none;font-weight:700;border:none;background:none;cursor:pointer;font-family:inherit;padding:0}
.ip-row{display:flex;align-items:center;gap:var(--spe-space-3);padding:var(--spe-space-3) var(--spe-space-4);cursor:pointer;border:none;background:none;width:100%;font-family:inherit;text-align:right;font-size:13px;color:inherit;border-bottom:1px solid var(--spe-border)}
.ip-row:last-child{border-bottom:none}
.ip-row:hover{background:var(--spe-surface-2)}
.ip-row-body{flex:1;min-width:0}
.ip-row-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ip-row-meta{font-size:11px;color:var(--spe-text-3);margin-top:2px}
.ip-empty{padding:var(--spe-space-4);text-align:center;font-size:12.5px;color:var(--spe-text-3)}
.ip-tag{font-size:10px;font-weight:700;padding:2px 8px;border-radius:var(--spe-radius-pill);flex:0 0 auto}
.ip-tag.red{background:var(--spe-danger-bg);color:var(--spe-danger)}
.ip-tag.amber{background:var(--spe-warn-bg);color:var(--spe-warn)}
.ip-tag.green{background:var(--spe-success-bg);color:var(--spe-success)}

.ip-team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--spe-space-3)}
.ip-member{background:var(--spe-surface);border:1px solid var(--spe-border);border-radius:var(--spe-radius);padding:var(--spe-space-3);cursor:pointer;text-align:center;font-family:inherit;width:100%;transition:box-shadow .15s}
.ip-member:hover{box-shadow:var(--spe-shadow)}
.ip-member-av{width:44px;height:44px;border-radius:50%;margin:0 auto 8px;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;background:var(--spe-accent)}
.ip-member-nm{font-size:13px;font-weight:700}
.ip-member-st{font-size:11px;color:var(--spe-text-3);margin-top:4px}

.ip-units{display:flex;gap:var(--spe-space-3);overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.ip-unit{flex:0 0 168px;background:var(--spe-surface);border:1px solid var(--spe-border);border-radius:var(--spe-radius);padding:var(--spe-space-3);cursor:pointer;text-align:right;font-family:inherit}
.ip-unit:hover{border-color:var(--spe-accent)}
.ip-unit-nm{font-size:13px;font-weight:800}
.ip-unit-meta{font-size:11px;color:var(--spe-text-3);margin-top:6px;line-height:1.7}
.ip-unit-val{font-size:15px;font-weight:800;color:var(--spe-accent);margin-top:4px}

.ip-readonly-note{display:flex;align-items:center;gap:10px;background:var(--spe-info-bg);color:#0c4a6e;border-radius:var(--spe-radius);padding:var(--spe-space-3) var(--spe-space-4);font-size:12.5px;margin-bottom:var(--spe-space-4)}
.ip-readonly-note svg{width:18px;height:18px;stroke:var(--spe-info);fill:none;stroke-width:2;flex:0 0 auto}

/* ── نمای جایگزین صادقانه برای منوهای بدون محتوای تخصیص‌یافته ── */
.ip-placeholder{background:var(--spe-surface);border:1px dashed var(--spe-border-strong);border-radius:var(--spe-radius-lg);padding:56px 24px;text-align:center;color:var(--spe-text-2)}
.ip-placeholder .pico{width:52px;height:52px;border-radius:50%;background:var(--spe-accent-soft);color:var(--spe-accent-dark);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.ip-placeholder .pico svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.8}
.ip-placeholder h3{margin:0 0 6px;font-size:16px;font-weight:800;color:var(--spe-text)}
.ip-placeholder p{margin:0 0 4px;font-size:12.5px;max-width:420px;margin-inline:auto}
.ip-placeholder code{direction:ltr;display:inline-block;background:var(--spe-surface-2);border-radius:5px;padding:1px 7px;font-size:11px;color:var(--spe-accent-dark)}

/* ── موبایل ── */
html.ip-drawer-open,html.ip-drawer-open body{overflow:hidden;overscroll-behavior:none}
body.is-mobile.ip-drawer-open{position:fixed;inset-inline:0;width:100%;overflow:hidden}
body.is-mobile .ip-side{
  position:fixed;inset-block:0;inset-inline-start:0;
  width:min(88vw,320px);max-width:calc(100vw - 48px);height:100dvh;flex-basis:auto;
  padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
  box-shadow:var(--spe-shadow);visibility:hidden;pointer-events:none;will-change:transform;
  transition:transform var(--spe-trans),visibility 0s linear var(--spe-trans)
}
html[dir="rtl"] body.is-mobile .ip-side{transform:translateX(100%)}
html[dir="ltr"] body.is-mobile .ip-side{transform:translateX(-100%)}
html[dir] body.is-mobile .ip-side.is-open{transform:translateX(0);visibility:visible;pointer-events:auto;transition-delay:0s}
body.is-mobile .ip-side-close{display:flex}
body.is-mobile .ip-brand{padding-left:max(var(--spe-space-3),env(safe-area-inset-left,0px));padding-right:max(var(--spe-space-3),env(safe-area-inset-right,0px))}
body.is-mobile .ip-menu-btn{display:flex}
body.is-mobile .ip-collapse-btn{display:none}
body.is-mobile .ip-top-date{display:none}
body.is-mobile .ip-acct-text{display:none}
body.is-mobile .ip-acct-btn{padding:0;width:40px;justify-content:center}
body.is-mobile .ip-top{
  padding-left:max(var(--spe-space-4),env(safe-area-inset-left,0px));
  padding-right:max(var(--spe-space-4),env(safe-area-inset-right,0px))
}
body.is-mobile .ip-content{
  padding-top:var(--spe-space-4);
  padding-left:max(var(--spe-space-4),env(safe-area-inset-left,0px));
  padding-right:max(var(--spe-space-4),env(safe-area-inset-right,0px));
  padding-bottom:calc(var(--spe-mob-nav-h) + env(safe-area-inset-bottom,0px) + 24px)
}
body.is-mobile .ip-grid-2{grid-template-columns:1fr}
.ip-overlay{display:none;position:fixed;inset:0;background:rgba(15,23,42,.35);z-index:99;touch-action:none;overscroll-behavior:contain}
body.is-mobile .ip-overlay.is-on{display:block}

.ip-mob-nav{
  display:none;position:fixed;bottom:0;inset-inline:0;
  height:calc(var(--spe-mob-nav-h) + env(safe-area-inset-bottom,0px));
  background:var(--spe-surface);border-top:1px solid var(--spe-border);z-index:110;
  padding-top:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom,0px));
  padding-left:max(8px,env(safe-area-inset-left,0px));padding-right:max(8px,env(safe-area-inset-right,0px))
}
body.is-mobile .ip-mob-nav{display:flex;justify-content:space-around;align-items:center}
/* An open mobile sidebar is a modal drawer; the bottom bar must not sit above it. */
body.spe-ip-body.ip-drawer-open .ip-mob-nav{visibility:hidden;pointer-events:none}
.ip-mob-item{display:flex;flex-direction:column;align-items:center;gap:3px;border:none;background:none;font-family:inherit;font-size:10px;color:var(--spe-text-3);cursor:pointer;padding:6px 10px;min-width:44px}
.ip-mob-item svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8}
.ip-mob-item.is-active{color:var(--spe-accent);font-weight:700}

@media (max-width:900px){
  /* Mobile shell must not depend on JS adding .is-mobile. This also prevents
   * a collapsed desktop sidebar from carrying hidden labels into mobile. */
  body.spe-ip-body .ip-side{
    position:fixed;inset-block:0;inset-inline-start:0;
    width:min(88vw,320px);max-width:calc(100vw - 48px);height:100dvh;flex-basis:auto;
    padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
    box-shadow:var(--spe-shadow);visibility:hidden;pointer-events:none;will-change:transform;
    transition:transform var(--spe-trans),visibility 0s linear var(--spe-trans);
  }
  html[dir="rtl"] body.spe-ip-body .ip-side{transform:translateX(100%)}
  html[dir="ltr"] body.spe-ip-body .ip-side{transform:translateX(-100%)}
  html[dir] body.spe-ip-body .ip-side.is-open{transform:translateX(0);visibility:visible;pointer-events:auto;transition-delay:0s}
  body.spe-ip-body .ip-side-close{display:flex}
  body.spe-ip-body .ip-menu-btn{display:flex}
  body.spe-ip-body .ip-collapse-btn{display:none}
  body.spe-ip-body .ip-top-date{display:none}
  body.spe-ip-body .ip-acct-text{display:none}
  body.spe-ip-body .ip-acct-btn{padding:0;width:40px;justify-content:center}
  body.spe-ip-body .ip-top{padding-left:max(var(--spe-space-4),env(safe-area-inset-left,0px));padding-right:max(var(--spe-space-4),env(safe-area-inset-right,0px))}
  body.spe-ip-body .ip-content{padding-top:var(--spe-space-4);padding-left:max(var(--spe-space-4),env(safe-area-inset-left,0px));padding-right:max(var(--spe-space-4),env(safe-area-inset-right,0px));padding-bottom:calc(var(--spe-mob-nav-h) + env(safe-area-inset-bottom,0px) + 24px)}
  body.spe-ip-body .ip-mob-nav{display:flex;justify-content:space-around;align-items:center}
  body.spe-ip-body.is-collapsed .ip-brand{justify-content:flex-start;padding:var(--spe-space-4)}
  body.spe-ip-body.is-collapsed .ip-brand-txt{display:block}
  body.spe-ip-body.is-collapsed .ip-grp-hd span,
  body.spe-ip-body.is-collapsed .ip-item span,
  body.spe-ip-body.is-collapsed .ip-logout span{display:inline}
  body.spe-ip-body.is-collapsed .ip-grp-hd svg.chev{display:block}
  body.spe-ip-body.is-collapsed .ip-badge{display:inline-flex}
  body.spe-ip-body.is-collapsed .ip-item,
  body.spe-ip-body.is-collapsed .ip-grp-hd,
  body.spe-ip-body.is-collapsed .ip-logout{justify-content:flex-start}
  body.spe-ip-body.is-collapsed .ip-grp .ip-grp-items{display:none!important}
  body.spe-ip-body.is-collapsed .ip-grp.is-open .ip-grp-items{display:block!important}
/* Fix BG-1H4DYF/BG-2QYU56: collapsed rail + open group — kill submenu indent (leaked 36px/24px padding-inline-start) and stretch container so icons center inside the 72px rail */
body.is-collapsed .ip-grp.is-open .ip-grp-items{display:block!important;width:100%}
body.is-collapsed #sidebar .ip-grp-items .ip-item{padding-inline-start:10px;padding-inline-end:10px;width:100%;justify-content:center}
body.is-collapsed #sidebar .ip-grp-items .ip-item svg{flex:0 0 auto}
/* nav-collapsed-width-fix BG-1H4DYF/BG-2QYU56: force the nav column to fill the collapsed rail instead of shrink-to-fit */
body.is-collapsed #sidebar .ip-nav{width:100%;max-width:100%}
body.is-collapsed #sidebar .ip-nav .ip-grp{width:100%}
body.is-collapsed #sidebar .ip-nav .ip-grp-items{width:100%}
/* rail-real-estate-fix-v3 BG-1H4DYF/BG-2QYU56: collapsed 76px rail wasted 54px on nested paddings+scrollbar gutter, leaving a 21px column that pushed submenu icons out. Reclaim it. */
body.is-collapsed .ip-side-inner{padding-inline:3px}
body.is-collapsed #sidebar .ip-nav{padding-inline:3px}
body.is-collapsed #sidebar .ip-grp-items .ip-item{padding-inline:10px !important}



  .ip-grid-2{grid-template-columns:1fr}
}
@media (max-width:640px){
  .ip-kpis{grid-template-columns:repeat(2,1fr)}
  .ip-hero{padding:var(--spe-space-4)}
  .ip-top-search{width:min(160px,40vw);flex-basis:160px}
  .ip-top-date{display:none}
  .ip-omni{width:min(340px,94vw)}
}

/* ── مودال درخواست کارمند (مرخصی / انبار) — ops-four-processes r2 ── */
.ip-modal[hidden]{display:none!important}
.ip-modal{position:fixed;inset:0;z-index:220;display:flex;align-items:center;justify-content:center;padding:16px}
.ip-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.45)}
.ip-modal-box{position:relative;width:100%;max-width:440px;background:var(--spe-surface);border:1px solid var(--spe-border);border-radius:var(--spe-radius-lg);box-shadow:var(--spe-shadow);max-height:min(90vh,640px);overflow:auto}
.ip-modal-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--spe-border)}
.ip-modal-hd h2{margin:0;font-size:16px;font-weight:800}
.ip-modal-x{border:0;background:none;font-size:22px;line-height:1;cursor:pointer;color:var(--spe-text-3);padding:4px 8px}
.ip-modal-x:hover{color:var(--spe-text)}
.ip-modal-bd{padding:16px;display:flex;flex-direction:column;gap:12px}
.ip-frow{display:flex;flex-direction:column;gap:5px}
.ip-frow label{font-size:12px;font-weight:700;color:var(--spe-text-2)}
.ip-frow .req{color:var(--spe-danger)}
.ip-frow-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ip-input{width:100%;height:40px;padding:0 12px;border:1px solid var(--spe-border-strong);border-radius:var(--spe-radius-sm);font:inherit;font-size:13px;background:var(--spe-surface);color:var(--spe-text);box-sizing:border-box}
textarea.ip-input{height:auto;padding:10px 12px;resize:vertical}
.ip-input:focus{outline:none;border-color:var(--spe-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--spe-accent) 18%,transparent)}
.ip-hint{margin:0;font-size:11.5px;color:var(--spe-text-3);line-height:1.6}
.ip-modal-ft{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding-top:4px}
.ip-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:240;background:#111827;color:#fff;padding:10px 16px;border-radius:999px;font-size:13px;opacity:0;pointer-events:none;transition:opacity .2s}
.ip-toast.is-on{opacity:1}

/* فیلد تاریخ + دکمهٔ تقویم (مودال SPE_CalModal) */
.ip-modal .spe-jwrap{position:relative;display:block;width:100%;min-width:0;box-sizing:border-box}
.ip-modal .spe-jwrap--has-cal .ip-input,
.ip-modal .spe-jwrap--has-cal .spe-jdate{
  padding:0 40px 0 12px;direction:ltr;text-align:center
}
.ip-modal .spe-jcal-btn{
  position:absolute;inset-inline-start:0;inset-inline-end:auto;top:0;width:40px;height:100%;
  display:flex;align-items:center;justify-content:center;
  padding:0;margin:0;border:0;background:transparent;
  color:var(--spe-text-3);cursor:pointer;z-index:2
}
.ip-modal .spe-jcal-btn:hover,
.ip-modal .spe-jcal-btn:focus{color:var(--spe-accent);outline:none}
.ip-modal .spe-jcal-btn svg{display:block;pointer-events:none}

/* Sidebar scroll contract: a single native scroller in Classic/Toana, with
   independent text/rail scrollers in Dana. Do not scroll the page behind a drawer. */
body.spe-ip-body #sidebar .ip-nav{
  min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;
  touch-action:pan-y;scrollbar-width:thin;scrollbar-color:rgba(123,137,166,.8) transparent;
  -webkit-overflow-scrolling:touch;
}
body.spe-ip-body #sidebar .ip-nav:focus-visible,
body.spe-ip-body #sidebar .ip-dana-rail:focus-visible{
  outline:2px solid var(--spe-accent,#5b50e6);outline-offset:-3px;
}
body.spe-ip-body #sidebar .ip-nav::-webkit-scrollbar{width:7px}
body.spe-ip-body #sidebar .ip-nav::-webkit-scrollbar-thumb{
  background:rgba(123,137,166,.8);border-radius:10px;
}
body.spe-ip-body #sidebar .ip-nav::-webkit-scrollbar-track{background:transparent}
