:root {
  --bg0: #0a0e1a;
  --bg1: #141a2e;
}
* { box-sizing: border-box; }
html, body { margin: 0; }
body {
  font-family: 'Vazirmatn', system-ui, sans-serif;
  color: #e2e8f0;
  background:
    radial-gradient(1000px 600px at 100% -10%, rgba(124,58,237,.20), transparent 60%),
    radial-gradient(900px 500px at 0% 0%, rgba(37,99,235,.18), transparent 55%),
    linear-gradient(180deg, var(--bg0), var(--bg1));
  background-attachment: fixed;
  min-height: 100vh;
}

/* کارت شیشه‌ای */
.vb-card {
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.07);
  box-shadow: 0 8px 28px rgba(0,0,0,.25);
  backdrop-filter: blur(6px);
  transition: transform .2s ease, box-shadow .2s ease;
}
.vb-card:hover { transform: translateY(-2px); box-shadow: 0 12px 34px rgba(124,58,237,.22); }

/* دکمه گرادیانی */
.vb-btn {
  background: linear-gradient(135deg,#2563eb,#7c3aed);
  color: #fff; border: none; cursor: pointer;
  transition: filter .2s ease, transform .1s ease;
}
.vb-btn:hover { filter: brightness(1.12); }
.vb-btn:active { transform: scale(.97); }

/* ورودی‌ها */
.vb-input {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: .75rem; padding: .7rem .9rem; color: #e2e8f0;
  font-family: inherit; outline: none;
}
.vb-input:focus { border-color: #7c3aed; }

/* اسلایدر */
.vb-range { -webkit-appearance: none; appearance: none; height: 6px; border-radius: 999px;
  background: linear-gradient(90deg,#2563eb,#7c3aed); outline: none; }
.vb-range::-webkit-slider-thumb { -webkit-appearance: none; width: 20px; height: 20px; border-radius: 50%;
  background: #fbbf24; cursor: pointer; box-shadow: 0 0 0 4px rgba(251,191,36,.25); }
.vb-range::-moz-range-thumb { width: 20px; height: 20px; border: none; border-radius: 50%;
  background: #fbbf24; cursor: pointer; }

/* انیمیشن‌ها */
@keyframes vbFade { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
.vb-fade { animation: vbFade .5s ease both; }
@keyframes vbSpin { to { transform: rotate(360deg); } }
.vb-spin { animation: vbSpin .9s linear infinite; }
@keyframes vbToast { from { opacity: 0; transform: translateY(10px) scale(.95); } to { opacity: 1; transform: none; } }
.vb-toast { animation: vbToast .25s ease both; }

/* اسکلتون */
.vb-skeleton {
  background: linear-gradient(90deg, rgba(255,255,255,.05) 25%, rgba(255,255,255,.11) 37%, rgba(255,255,255,.05) 63%);
  background-size: 400% 100%;
  animation: vbShimmer 1.3s ease infinite;
}
@keyframes vbShimmer { 0% { background-position: 100% 0; } 100% { background-position: 0 0; } }

/* اسکرول‌بار */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: rgba(124,58,237,.4); border-radius: 999px; }

input[type="checkbox"] { accent-color: #7c3aed; width: 16px; height: 16px; }
table { border-collapse: collapse; }
a { text-decoration: none; }