/* ===================================================
   DETAIL SIDE PANEL
=================================================== */
.panel-overlay {
  position:fixed; inset:0;
  background:rgba(0,0,0,0.45);
  z-index:200;
  opacity:0; pointer-events:none;
  transition:opacity 0.22s;
}
.panel-overlay.show { opacity:1; pointer-events:all; }

.side-panel {
  position:fixed; right:-420px; top:0; bottom:0; width:420px;
  background:var(--bg-dark);
  border-left:1px solid var(--border);
  z-index:201;
  transition:right 0.28s cubic-bezier(.4,0,.2,1);
  display:flex; flex-direction:column;
}
.side-panel.open { right:0; }

.panel-hdr {
  padding:18px 22px;
  border-bottom:1px solid var(--border);
  display:flex; align-items:center; gap:10px;
}
.panel-hdr h3 { font-size:16px; font-weight:700; }
.panel-close {
  margin-left:auto;
  background:transparent; border:none;
  color:var(--text-muted); font-size:22px; cursor:pointer;
  line-height:1;
  transition:color .15s;
}
.panel-close:hover { color:var(--text); }

.type-badge {
  padding:3px 10px; border-radius:20px;
  font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.5px;
}
.type-badge.rental { background:var(--rental-bg); color:var(--rental); }
.type-badge.tourn  { background:var(--tourn-bg);  color:var(--tourn); }
.type-badge.manual { background:var(--manual-bg); color:var(--manual); }

.panel-body {
  flex:1; overflow-y:auto; padding:22px;
}
.panel-body::-webkit-scrollbar { width:5px; }
.panel-body::-webkit-scrollbar-thumb { background:var(--border); border-radius:3px; }

.detail-price-hero {
  text-align:center;
  padding:20px 0 18px;
  border-bottom:1px solid var(--border);
  margin-bottom:4px;
}
.dph-label  { font-size:11px; color:var(--text-muted); margin-bottom:4px; }
.dph-amount { font-family:'Bebas Neue',sans-serif; font-size:44px; color:var(--green); letter-spacing:2px; }

.drow {
  display:flex; justify-content:space-between; align-items:flex-start;
  padding:11px 0;
  border-bottom:1px solid rgba(200,85,255,0.08);
}
.drow:last-child { border-bottom:none; }
.drow-label { font-size:11.5px; color:var(--text-muted); }
.drow-val   { font-size:13px; font-weight:600; text-align:right; }

.panel-foot {
  padding:14px 22px;
  border-top:1px solid var(--border);
  display:flex; gap:8px;
}
