/* Bootstrap customization + D&D flavor */
:root{
  --parchment:#F1F0E8;
  --blood:#7a0000;
  --gold:#B68C42;
  --ink:#1b1b1b;
}
body{background:var(--parchment); color:var(--ink); font-family:system-ui, -apple-system, Segoe UI, Roboto, Vazirmatn, sans-serif;}
.navbar{background:linear-gradient(90deg,var(--blood),#2b0000);}
.navbar .navbar-brand, .navbar a{color:#fff !important; font-weight:600}
.hero{min-height:60vh; background:url('/assets/hero.jpg') center/cover no-repeat; display:flex; align-items:center; justify-content:center; position:relative}
.hero .overlay{position:absolute; inset:0; background:rgba(0,0,0,.45)}
.hero .box{position:relative; z-index:2; background:rgba(255,255,255,.9); border:2px solid var(--gold); border-radius:16px; padding:24px; max-width:680px; text-align:center; box-shadow:0 10px 30px rgba(0,0,0,.2)}
footer{padding:24px; text-align:center; color:#666}
/* Dashboard */
.sidebar{min-height:100vh; background:#121212; color:#fff; position:sticky; top:0}
.sidebar .brand{padding:16px; display:flex; align-items:center; gap:10px; border-bottom:1px solid #333}
.sidebar .brand .d20{width:28px;height:28px;border:2px solid #fff;border-radius:50%;display:grid;place-items:center;font-weight:700}
.sidebar a{display:block; padding:10px 18px; color:#ddd; text-decoration:none}
.sidebar a.active, .sidebar a:hover{background:#1f1f1f; color:#fff}
.main{padding:24px}
.card-parch{background:#fff; border:1px solid #e9e3d7; border-radius:16px; box-shadow:0 8px 24px rgba(0,0,0,.06)}
.badge-dd{background:var(--gold); color:#000}
.btn-blood{background:var(--blood); color:#fff; border:none}
.btn-blood:hover{opacity:.9}
/* RTL tweaks */
[dir="rtl"] .form-label{text-align:right}

/* ===== UI/UX UPGRADE ===== */
:root{
  --bg: #0f0e0d;
  --panel: #151414;
  --panel-2: #1b1a19;
  --parchment-deep:#efe7d1;
}
body{
  background:
    radial-gradient(1200px 600px at 100% -10%, rgba(182,140,66,.08), transparent 60%),
    radial-gradient(1000px 400px at -10% 110%, rgba(122,0,0,.10), transparent 50%),
    var(--parchment);
}
.navbar{box-shadow:0 8px 24px rgba(0,0,0,.25)}
.sidebar{
  background: linear-gradient(180deg, #141212 0%, #0f0e0d 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03), 0 10px 30px rgba(0,0,0,.35);
}
.sidebar .brand{border-bottom:1px solid rgba(255,255,255,.08)}
.sidebar a{
  border-left:3px solid transparent;
  transition: all .15s ease;
  font-weight:600;
}
.sidebar a .bi{opacity:.9}
.sidebar a.active, .sidebar a:hover{
  border-left-color: var(--gold);
  background: linear-gradient(90deg, rgba(255,255,255,.04), transparent);
  color:#fff;
}
.main .page-title{
  display:flex; align-items:center; gap:12px;
  padding:10px 0 6px;
}
.page-title .d20{
  width:36px;height:36px;border-radius:50%;border:2px solid var(--blood);color:var(--blood);display:grid;place-items:center;font-weight:800;
  background:#fff;
}
.card-parch{
  background: linear-gradient(180deg, #fff 0%, #fbf7f0 100%);
  border:1px solid #eadfca;
}
.card-glass{
  background: rgba(255,255,255,0.92);
  border:1px solid rgba(0,0,0,.05);
  backdrop-filter: blur(6px);
  border-radius:16px;
  box-shadow:0 10px 24px rgba(0,0,0,.07);
}
.kpi{
  display:flex; align-items:center; gap:12px; padding:16px; border-radius:16px;
  background:linear-gradient(180deg,#fff, #f2efe7);
  border:1px solid #ede6d8;
  box-shadow:0 10px 24px rgba(0,0,0,.06);
}
.kpi .icon{
  width:44px;height:44px;border-radius:12px;display:grid;place-items:center;
  background:#111;color:#fff;
}
.kpi .value{font-size:22px;font-weight:800}
.kpi .label{color:#666;font-weight:600}
.list-clean .row-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px dashed #e9e3d7}
.list-clean .row-item:last-child{border-bottom:none}
.badge-dd{background:var(--gold); color:#000; font-weight:700}
.btn-soft{
  background: #fff; border:1px solid #e8e2d6; color:#222;
}
.btn-soft:hover{background:#faf7f2}
.seat-card{
  border:1px solid #e9e3d7;border-radius:14px;padding:12px;margin-bottom:10px;background:#fff;
  display:flex;justify-content:space-between;align-items:center;
}
.hero-mini{
  background:linear-gradient(90deg, rgba(122,0,0,.12), rgba(182,140,66,.10));
  border:1px solid rgba(182,140,66,.35);
  border-radius:16px; padding:14px 16px;
}
.ref-card{display:flex;justify-content:space-between;align-items:center;border:1px dashed #e0d6c2;border-radius:14px;padding:10px 12px;background:#fff7e7}
/* Mobile niceties */
@media (max-width: 767px){
  .sidebar{position:static; min-height:auto}
}
