/* =============================================
   MENUSOFT — DASHBOARD SIDEBAR (shared across feature pages)
   ============================================= */

.ds-layout { display:flex; min-height:100vh; }

/* ── SIDEBAR ── */
.ds-sidebar {
  width:280px; flex-shrink:0;
  background:var(--dark);
  position:fixed; top:0; right:0; height:100vh;
  overflow-y:auto; z-index:1100;
  transition:transform .3s cubic-bezier(.4,0,.2,1);
  box-shadow:-4px 0 24px rgba(0,0,0,.15);
}
.ds-sidebar::-webkit-scrollbar { width:5px; }
.ds-sidebar::-webkit-scrollbar-thumb { background:rgba(255,255,255,.15); border-radius:10px; }

.ds-sidebar-brand {
  display:flex; align-items:center; gap:.65rem;
  padding:1.5rem 1.25rem; text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.ds-sidebar-brand img { width:38px; height:38px; border-radius:10px; }
.ds-sidebar-brand span { font-size:1.25rem; font-weight:800; color:#fff; }
.ds-sidebar-brand span em { color:var(--secondary); font-style:normal; }

.ds-main-menu { list-style:none; padding:.75rem; margin:0; }
.ds-main-menu li { margin-bottom:2px; }

.ds-main-menu > li > a,
.ds-submenu-toggle {
  display:flex; align-items:center; gap:.65rem;
  padding:.7rem .9rem; border-radius:10px;
  color:rgba(255,255,255,.65); text-decoration:none;
  font-size:.85rem; font-weight:500;
  transition:all .2s ease; cursor:pointer;
  width:100%; background:none; border:none; text-align:right;
  font-family:'Vazirmatn',sans-serif;
}
.ds-main-menu > li > a i:first-child,
.ds-submenu-toggle i:first-child { width:18px; text-align:center; font-size:.85rem; flex-shrink:0; }
.ds-main-menu > li > a span,
.ds-submenu-toggle span { flex:1; }

.ds-main-menu > li > a:hover,
.ds-submenu-toggle:hover { background:rgba(255,255,255,.06); color:#fff; }

.ds-main-menu > li.active > a,
.ds-main-menu > li.active > .ds-submenu-toggle {
  background:linear-gradient(135deg,rgba(7,123,249,.25),rgba(7,123,249,.05));
  color:#fff; font-weight:700;
}
.ds-main-menu > li.active > a::before,
.ds-main-menu > li.active > .ds-submenu-toggle::before {
  content:''; position:absolute; right:0; top:50%; transform:translateY(-50%);
  width:3px; height:60%; background:var(--primary); border-radius:4px 0 0 4px;
}
.ds-main-menu > li { position:relative; }

.ds-arrow { font-size:.7rem !important; transition:transform .25s ease; margin-right:auto; flex:0 !important; }
.ds-has-submenu.open > .ds-submenu-toggle .ds-arrow { transform:rotate(-90deg); }

.ds-submenu {
  list-style:none; padding:0; margin:0;
  max-height:0; overflow:hidden;
  transition:max-height .3s ease;
}
.ds-has-submenu.open > .ds-submenu { max-height:500px; }
.ds-submenu li a {
  display:block; padding:.55rem .9rem .55rem 1rem; margin-right:1.6rem;
  border-right:2px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.5); text-decoration:none; font-size:.8rem;
  transition:all .2s ease;
}
.ds-submenu li a:hover { color:#fff; border-color:var(--primary-lt); }
.ds-submenu li.active a { color:var(--primary-lt); border-color:var(--primary); font-weight:700; }

.ds-sidebar-divider { height:1px; background:rgba(255,255,255,.08); margin:.75rem .9rem; }

.ds-sidebar-footer { padding:1rem 1.25rem 1.5rem; text-align:center; }
.ds-sidebar-footer p { color:rgba(255,255,255,.3); font-size:.7rem; line-height:1.7; }

/* mobile toggle for content area */
.ds-mobile-bar {
  display:none; position:sticky; top:0; z-index:1090;
  background:#fff; padding:.85rem 1rem; align-items:center; gap:1rem;
  box-shadow:0 2px 10px rgba(0,0,0,.06); border-bottom:1px solid var(--g200);
}
.ds-mobile-bar button {
  width:40px; height:40px; border-radius:10px; border:none;
  background:var(--g100); color:var(--dark); font-size:1.1rem;
  display:flex; align-items:center; justify-content:center; cursor:pointer;
}
.ds-mobile-bar .ds-mobile-title { font-weight:800; font-size:.95rem; flex:1; text-align:center; }

.ds-sidebar-overlay {
  position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:1095;
  opacity:0; visibility:hidden; transition:.3s ease;
}
.ds-sidebar-overlay.show { opacity:1; visibility:visible; }

/* ── CONTENT AREA ── */
.ds-content { flex:1; margin-right:280px; min-height:100vh; background:linear-gradient(180deg,#f8fafc 0%,#eef2f7 100%); }

@media (max-width:991.98px) {
  .ds-sidebar { transform:translateX(280px); }
  .ds-sidebar.show { transform:translateX(0); }
  .ds-content { margin-right:0; }
  .ds-mobile-bar { display:flex; }
}

/* ── FEATURE PAGE TOP BAR (desktop) for quick nav back to site ── */
.ds-top-strip {
  display:flex; justify-content:space-between; align-items:center;
  padding:.85rem 2rem; background:rgba(255,255,255,.85); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--g200); position:sticky; top:0; z-index:200;
}
.ds-top-strip a.back-site { color:var(--g600); text-decoration:none; font-size:.85rem; font-weight:600; display:flex; align-items:center; gap:.4rem; }
.ds-top-strip a.back-site:hover { color:var(--primary); }
@media(max-width:991.98px){ .ds-top-strip{ display:none; } }
