/* ============================================================================
   MOOV 3D PAGE — همان زبان طراحیِ داشبورد
   ========================================================================== */
.moov-d3{
  --d3-bg:#020C26; --d3-card:#020D29; --d3-card2:#030F2E;
  --d3-line:rgba(148,163,214,.13); --d3-ink:#FFFFFF; --d3-dim:#6F85C2;
  --d3-violet:#7D60F0; --d3-indigo:#3812C6;
  direction:ltr;color:var(--d3-ink);padding:16px 18px 30px;
  font-family:Inter,Vazirmatn,system-ui,sans-serif;
}

/* ---------- سربرگ ---------- */
.moov-d3 .d3-head{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.moov-d3 .d3-headtext{flex:1 1 auto;min-width:0}
.moov-d3 .d3-headtext h1{margin:0 0 4px;font-size:21px;font-weight:700}.moov-d3 .d3-headtext p{margin:0;font-size:12.5px;color:var(--d3-dim)}
[dir="rtl"] .moov-d3 .d3-headtext p{direction:rtl;text-align:right}

.moov-d3 .d3-headtools{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.moov-d3 .d3-export{display:flex;align-items:center;gap:7px;padding:10px 15px;border-radius:11px;
  border:none;cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;color:#fff;
  background:linear-gradient(90deg,var(--d3-indigo),var(--d3-violet))}
.moov-d3 .d3-export:hover{filter:brightness(1.12)}
.moov-d3 .d3-export svg{width:15px;height:15px}

/* ---------- شبکه ---------- */
.moov-d3 .d3-grid{display:grid;grid-template-columns:236px minmax(0,1fr) 268px;gap:12px;
  align-items:start}
@media(max-width:1280px){.moov-d3 .d3-grid{grid-template-columns:210px minmax(0,1fr)}
  .moov-d3 .d3-right{grid-column:1/-1}}
@media(max-width:820px){.moov-d3 .d3-grid{grid-template-columns:1fr}}

.moov-d3 .d3-card{background:var(--d3-card);border:1px solid var(--d3-line);
  border-radius:15px;padding:13px;margin-bottom:11px}
.moov-d3 .d3-cardtitle{font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--d3-dim);margin-bottom:10px}

/* ---------- نما ---------- */
.moov-d3 .d3-stage{position:relative;background:var(--d3-card);border:1px solid var(--d3-line);
  border-radius:16px;overflow:hidden;min-height:420px}
.moov-d3 .d3-canvas{width:100%;height:auto;display:block;touch-action:none;cursor:grab}
.moov-d3 .d3-canvas:active{cursor:grabbing}.moov-d3 .d3-hint{position:absolute;left:14px;bottom:12px;font-size:11px;
  color:rgba(148,163,214,.55);pointer-events:none}
[dir="rtl"] .moov-d3 .d3-hint{direction:rtl;text-align:right}
.moov-d3 .d3-stat{position:absolute;right:14px;bottom:12px;font-size:11px;
  color:rgba(148,163,214,.7);pointer-events:none}
[dir="rtl"] .moov-d3 .d3-stat{direction:rtl;text-align:right}


/* ---------- افزودن ---------- */
.moov-d3 .d3-addgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.moov-d3 .d3-add{display:flex;flex-direction:column;align-items:center;gap:6px;padding:11px 5px;
  border-radius:11px;cursor:pointer;font:inherit;font-size:11px;color:#C2CEEB;
  background:var(--d3-card2);border:1px solid var(--d3-line)}
[dir="rtl"] .moov-d3 .d3-add{direction:rtl;text-align:right}

.moov-d3 .d3-add:hover{border-color:rgba(125,96,240,.55);color:#fff}
.moov-d3 .d3-addicon{width:22px;height:22px;display:grid;place-items:center;color:var(--d3-violet)}
.moov-d3 .d3-addicon svg{width:22px;height:22px}

/* ---------- فهرست اجسام و اصلاح‌گرها ---------- */
.moov-d3 .d3-list{display:flex;flex-direction:column;gap:5px}.moov-d3 .d3-item{display:flex;align-items:center;gap:8px;padding:8px 9px;border-radius:10px;
  cursor:pointer;font-size:12px;color:#C2CEEB;background:var(--d3-card2);
  border:1px solid transparent}
[dir="rtl"] .moov-d3 .d3-item{direction:rtl;text-align:right}

.moov-d3 .d3-item:hover{border-color:rgba(148,163,214,.22)}
.moov-d3 .d3-item.on{border-color:var(--d3-violet);background:rgba(125,96,240,.12);color:#fff}
.moov-d3 .d3-dot{width:11px;height:11px;border-radius:4px;flex:0 0 auto;
  box-shadow:0 0 0 1px rgba(255,255,255,.22) inset}
.moov-d3 .d3-itemname{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.moov-d3 .d3-mini{width:25px;height:25px;flex:0 0 auto;border-radius:7px;cursor:pointer;padding:0;
  display:grid;place-items:center;color:var(--d3-dim);
  background:rgba(148,163,214,.08);border:1px solid transparent}
.moov-d3 .d3-mini svg{width:14px;height:14px}
.moov-d3 .d3-mini:hover{background:rgba(148,163,214,.2);color:#fff}
.moov-d3 .d3-mini.danger:hover{background:#c0392b;color:#fff}.moov-d3 .d3-empty{margin:0;font-size:12px;color:var(--d3-dim);line-height:1.9}
[dir="rtl"] .moov-d3 .d3-empty{direction:rtl;text-align:right}
.moov-d3 .d3-ghost{width:100%;margin-top:9px;padding:9px;border-radius:10px;cursor:pointer;
  font:inherit;font-size:12px;color:var(--d3-dim);
  background:transparent;border:1px solid var(--d3-line)}
[dir="rtl"] .moov-d3 .d3-ghost{direction:rtl;text-align:right}

.moov-d3 .d3-ghost:hover{color:#fff;border-color:rgba(148,163,214,.3)}

/* ---------- ترابرد ---------- */
.moov-d3 .d3-row{margin-bottom:11px}.moov-d3 .d3-rowlabel{display:block;font-size:11.5px;color:#C2CEEB;margin-bottom:6px}
[dir="rtl"] .moov-d3 .d3-rowlabel{direction:rtl;text-align:right}

.moov-d3 .d3-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.moov-d3 .d3-num{display:flex;align-items:center;gap:5px;padding:7px 8px;border-radius:9px;
  background:var(--d3-card2);border:1px solid var(--d3-line)}
.moov-d3 .d3-num:focus-within{border-color:var(--d3-violet)}
.moov-d3 .d3-num span{font-size:10px;color:var(--d3-dim);flex:0 0 auto}
.moov-d3 .d3-num input{width:100%;min-width:0;border:none;background:none;outline:none;
  color:var(--d3-ink);font:inherit;font-size:12px;padding:0;
  font-variant-numeric:tabular-nums}
.moov-d3 .d3-num input::-webkit-outer-spin-button,
.moov-d3 .d3-num input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* ---------- متریال ---------- */
.moov-d3 .d3-swatches{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.moov-d3 .d3-sw{width:26px;height:26px;border-radius:8px;cursor:pointer;padding:0;
  border:2px solid transparent;box-shadow:0 0 0 1px rgba(255,255,255,.14) inset}
.moov-d3 .d3-sw.on{border-color:#fff}
.moov-d3 .d3-sw.custom{background:none;-webkit-appearance:none;appearance:none;
  border:1px dashed rgba(148,163,214,.4)}

/* ---------- تراشه‌ها ---------- */
.moov-d3 .d3-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:9px}.moov-d3 .d3-chiplabel{font-size:11.5px;color:var(--d3-dim);margin-inline-end:2px}
[dir="rtl"] .moov-d3 .d3-chiplabel{direction:rtl;text-align:right}
.moov-d3 .d3-chip{padding:7px 12px;border-radius:9px;cursor:pointer;font:inherit;font-size:11.5px;
  color:#C2CEEB;background:var(--d3-card2);border:1px solid var(--d3-line)}
[dir="rtl"] .moov-d3 .d3-chip{direction:rtl;text-align:right}

.moov-d3 .d3-chip:hover{border-color:rgba(125,96,240,.5);color:#fff}
.moov-d3 .d3-chip.on{background:var(--d3-indigo);border-color:transparent;color:#fff}

/* ---------- لغزنده ---------- */
.moov-d3 .d3-slider{margin-bottom:10px}.moov-d3 .d3-slidertop{display:flex;justify-content:space-between;align-items:baseline;
  font-size:11.5px;color:#C2CEEB;margin-bottom:5px}
[dir="rtl"] .moov-d3 .d3-slidertop{direction:rtl;text-align:right}

.moov-d3 .d3-slidertop b{color:var(--d3-dim);font-weight:500;
  font-variant-numeric:tabular-nums;direction:ltr}
.moov-d3 .d3-slider input[type=range]{width:100%;height:20px;appearance:none;background:none;
  cursor:pointer}
.moov-d3 .d3-slider input[type=range]::-webkit-slider-runnable-track{height:2px;
  background:rgba(148,163,214,.22);border-radius:2px}
.moov-d3 .d3-slider input[type=range]::-moz-range-track{height:2px;
  background:rgba(148,163,214,.22);border-radius:2px}
.moov-d3 .d3-slider input[type=range]::-webkit-slider-thumb{appearance:none;width:14px;height:14px;
  border-radius:50%;background:#fff;margin-top:-6px;box-shadow:0 1px 4px rgba(0,0,0,.5)}
.moov-d3 .d3-slider input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;
  background:#fff;border:none}
