/* UI Mockup Components */
.mockup-collage { position: relative; width: 100%; height: 420px; }

.mockup-panel {
  position: absolute;
  background: white;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  box-shadow: 0 12px 40px rgba(14, 27, 77, 0.12);
  overflow: hidden;
  font-size: 11px;
}

.mockup-panel__bar { display: flex; align-items: center; gap: 6px; padding: 8px 12px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; }
.mockup-panel__dot { width: 8px; height: 8px; border-radius: 50%; }
.mockup-panel__dot--r { background: #f87171; }
.mockup-panel__dot--y { background: #fbbf24; }
.mockup-panel__dot--g { background: #4ade80; }
.mockup-panel__title { margin-left: 8px; font-weight: 600; color: #64748b; font-size: 10px; }

.mockup-collage .mockup--cms { width: 280px; top: 0; left: 0; z-index: 3; animation: float 6s ease-in-out infinite; }
.mockup-collage .mockup--qr { width: 200px; top: 20px; right: 0; z-index: 4; animation: float 5s ease-in-out infinite 0.5s; }
.mockup-collage .mockup--dash { width: 240px; bottom: 0; left: 60px; z-index: 2; animation: float 7s ease-in-out infinite 1s; }
.mockup-collage .mockup--game { width: 180px; bottom: 40px; right: 20px; z-index: 5; animation: float 5.5s ease-in-out infinite 1.5s; }
.mockup-collage .mockup--chat { width: 200px; top: 50%; left: 50%; z-index: 6; animation: float-center 6.5s ease-in-out infinite 0.8s; }

@keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes float-center { 0%, 100% { transform: translate(-50%, -50%); } 50% { transform: translate(-50%, calc(-50% - 8px)); } }

.mock-cms__body { display: flex; min-height: 180px; }
.mock-cms__sidebar { width: 70px; background: #0e1b4d; padding: 12px 8px; display: flex; flex-direction: column; gap: 8px; }
.mock-cms__nav-item { height: 8px; background: rgba(255,255,255,0.2); border-radius: 4px; }
.mock-cms__nav-item--active { background: #0094EF; }
.mock-cms__main { flex: 1; padding: 12px; }
.mock-cms__header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.mock-cms__heading { font-weight: 700; color: #0e1b4d; font-size: 12px; }
.mock-cms__badge { background: #fef3c7; color: #92400e; padding: 2px 8px; border-radius: 50px; font-size: 9px; font-weight: 600; }
.mock-cms__rows { display: flex; flex-direction: column; gap: 6px; }
.mock-cms__row { display: flex; align-items: center; gap: 8px; padding: 6px 8px; background: #f8fafc; border-radius: 6px; }
.mock-cms__row-bar { flex: 1; height: 6px; background: #e2e8f0; border-radius: 3px; }
.mock-cms__status { font-size: 8px; font-weight: 600; padding: 2px 6px; border-radius: 4px; }
.mock-cms__status--pending { background: #fef3c7; color: #92400e; }
.mock-cms__status--approved { background: #dcfce7; color: #166534; }

.mock-qr { padding: 16px; text-align: center; }
.mock-qr__code { width: 80px; height: 80px; margin: 0 auto 10px; background: linear-gradient(90deg, #0e1b4d 2px, transparent 2px) 0 0 / 10px 10px, linear-gradient(#0e1b4d 2px, transparent 2px) 0 0 / 10px 10px; background-color: white; border: 2px solid #0e1b4d; border-radius: 4px; }
.mock-qr__name { font-weight: 700; color: #0e1b4d; font-size: 11px; }
.mock-qr__event { color: #64748b; font-size: 9px; margin-top: 4px; }

.mock-dash { padding: 12px; }
.mock-dash__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 12px; }
.mock-dash__stat { text-align: center; padding: 8px; background: #f0f9ff; border-radius: 8px; }
.mock-dash__num { font-size: 16px; font-weight: 700; color: #0094EF; }
.mock-dash__lbl { font-size: 8px; color: #64748b; }
.mock-dash__chart { height: 60px; display: flex; align-items: flex-end; gap: 4px; padding: 0 4px; }
.mock-dash__bar { flex: 1; background: linear-gradient(180deg, #0094EF, #7dd3fc); border-radius: 3px 3px 0 0; }

.mock-game { padding: 12px; text-align: center; }
.mock-game__screen { background: linear-gradient(135deg, #0e1b4d, #1e3a6e); border-radius: 8px; padding: 20px 12px; color: white; }
.mock-game__score { font-size: 20px; font-weight: 700; color: #fbbf24; }
.mock-game__label { font-size: 9px; opacity: 0.7; margin-top: 4px; }
.mock-game__btn { margin-top: 10px; background: #0094EF; color: white; padding: 6px 16px; border-radius: 50px; font-size: 9px; font-weight: 600; display: inline-block; }

.mock-chat__header { background: #0094EF; color: white; padding: 10px 12px; font-weight: 600; font-size: 11px; }
.mock-chat__body { padding: 12px; display: flex; flex-direction: column; gap: 8px; }
.mock-chat__bubble { padding: 8px 10px; border-radius: 10px; font-size: 9px; max-width: 85%; }
.mock-chat__bubble--bot { background: #f1f5f9; color: #334155; align-self: flex-start; border-bottom-left-radius: 2px; }
.mock-chat__bubble--user { background: #0094EF; color: white; align-self: flex-end; border-bottom-right-radius: 2px; }

.mockup-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 24px; }
.mockup-standalone { background: white; border-radius: 16px; border: 1px solid #e2e8f0; box-shadow: 0 8px 30px rgba(14, 27, 77, 0.08); overflow: hidden; }
.mockup-standalone .mockup-panel { position: static; width: 100%; animation: none; box-shadow: none; border: none; border-radius: 0; }
.mockup-standalone__caption { padding: 16px 20px; font-size: 0.85rem; font-weight: 600; color: #0e1b4d; border-top: 1px solid #e2e8f0; }

.mock-reg { padding: 16px; }
.mock-reg__field { margin-bottom: 10px; }
.mock-reg__label { font-size: 9px; color: #64748b; margin-bottom: 4px; }
.mock-reg__input { height: 28px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 6px; }
.mock-reg__btn { background: #0094EF; color: white; text-align: center; padding: 8px; border-radius: 6px; font-weight: 600; font-size: 10px; margin-top: 8px; }

.mock-wheel { padding: 16px; text-align: center; }
.mock-wheel__circle { width: 100px; height: 100px; margin: 0 auto; border-radius: 50%; background: conic-gradient(#0094EF 0deg 60deg, #fbbf24 60deg 120deg, #c4b5fd 120deg 180deg, #34d399 180deg 240deg, #f87171 240deg 300deg, #0094EF 300deg 360deg); border: 4px solid white; box-shadow: 0 4px 16px rgba(0,0,0,0.1); }

.mock-lb { padding: 12px; }
.mock-lb__row { display: flex; align-items: center; gap: 8px; padding: 6px 0; border-bottom: 1px solid #f1f5f9; font-size: 10px; }
.mock-lb__rank { width: 20px; height: 20px; background: #0094EF; color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 9px; }
.mock-lb__rank--2 { background: #94a3b8; }
.mock-lb__rank--3 { background: #cd7f32; }
.mock-lb__name { flex: 1; font-weight: 600; color: #0e1b4d; }
.mock-lb__score { color: #0094EF; font-weight: 700; }

.mock-audit { padding: 12px; }
.mock-audit__th { text-align: left; padding: 6px 8px; background: #f8fafc; color: #64748b; font-weight: 600; border-bottom: 1px solid #e2e8f0; font-size: 9px; }
.mock-audit__td { padding: 6px 8px; border-bottom: 1px solid #f1f5f9; color: #334155; font-size: 9px; }

@media (max-width: 768px) {
  .mockup-collage { height: 500px; }
  .mockup-collage .mockup--cms { width: 220px; }
  .mockup-collage .mockup--qr { width: 160px; }
  .mockup-collage .mockup--dash { width: 200px; left: 20px; }
  .mockup-collage .mockup--game { width: 150px; }
  .mockup-collage .mockup--chat { width: 170px; }
}
