<?php
require '../db.php';

if (!isset($_SESSION['id']) || $_SESSION['role'] !== 'admin') {
    header("Location: ../login.php");
    exit;
}

$pdo->query("
    UPDATE settings SET requests_enabled = NOT requests_enabled
");

header("Location: dashboard.php");
:root{
  --bg:#070b14;
  --card:#0f172a;
  --accent:#38bdf8;
  --accent2:#22c55e;
  --danger:#ef4444;
  --text:#e5e7eb;
}

*{box-sizing:border-box}

body{
  margin:0;
  background:radial-gradient(circle at top,#0b1225,var(--bg));
  color:var(--text);
  font-family:Segoe UI,Arial;
}

header{
  padding:15px 25px;
  background:#020617;
  display:flex;
  justify-content:space-between;
  align-items:center;
  box-shadow:0 0 25px rgba(56,189,248,.25);
}

header h1{
  font-size:18px;
  color:var(--accent);
}

.logout{
  color:#fff;
  text-decoration:none;
  opacity:.7;
}
.logout:hover{opacity:1}

.container{
  max-width:1200px;
  margin:30px auto;
  padding:0 15px;
}

.grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:20px;
}

.card{
  background:linear-gradient(145deg,#0f172a,#020617);
  padding:18px;
  border-radius:18px;
  box-shadow:
    0 0 25px rgba(56,189,248,.15),
    inset 0 0 0 1px rgba(255,255,255,.05);
  animation:slideIn .35s ease;
}

.card b{
  font-size:15px;
}

.request-title{
  font-weight:600;
  font-size:15px;
  color:var(--accent);
}

.message{
  opacity:.85;
  font-size:14px;
  margin:8px 0;
}

.actions{
  display:flex;
  gap:10px;
  margin-top:12px;
}

.btn{
  flex:1;
  padding:8px;
  border-radius:12px;
  border:0;
  cursor:pointer;
  font-weight:600;
  text-align:center;
  text-decoration:none;
  color:#000;
}

.btn.play{background:var(--accent2)}
.btn.reject{background:var(--danger);color:#fff}

.dj-photo{
  width:80px;
  height:80px;
  border-radius:50%;
  object-fit:cover;
  box-shadow:0 0 20px var(--accent);
  margin-bottom:10px;
}

.dj-placeholder{
  width:80px;
  height:80px;
  border-radius:50%;
  background:#020617;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:32px;
  box-shadow:0 0 15px var(--accent);
  margin-bottom:10px;
}

.login-wrap{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
}

.error{
  background:#7f1d1d;
  padding:8px;
  border-radius:8px;
  margin-bottom:10px;
}

input, textarea{
  width:100%;
  margin:6px 0;
  padding:8px 10px;
  border-radius:10px;
  border:0;
}

@keyframes slideIn{
  from{transform:translateY(15px);opacity:0}
  to{transform:none;opacity:1}
}

/* nieuw verzoek animatie */
.new-request {
  animation: popIn 0.5s ease-out, glowPulse 2s ease-in-out;
}

@keyframes popIn {
  from {
    transform: scale(0.95) translateY(10px);
    opacity: 0;
  }
  to {
    transform: scale(1) translateY(0);
    opacity: 1;
  }
}

@keyframes glowPulse {
  0% {
    box-shadow: 0 0 0 rgba(56,189,248,0);
  }
  50% {
    box-shadow: 0 0 25px rgba(56,189,248,0.8);
  }
  100% {
    box-shadow: 0 0 0 rgba(56,189,248,0);
  
}

/* ===== Verzoekformulier ===== */

.request-card {
  max-width: 420px;
  width: 100%;
  animation: slideIn .5s ease;
}

.request-title-main {
  text-align: center;
  color: var(--accent);
  margin-bottom: 15px;
}

label {
  font-size: 13px;
  opacity: .85;
  display: block;
  margin-top: 12px;
}

label span {
  opacity: .5;
  font-size: 12px;
}

.request-card input,
.request-card textarea {
  background: #020617;
  border: 1px solid rgba(255,255,255,.08);
  color: #fff;
  transition: border .2s, box-shadow .2s;
}

.request-card input:focus,
.request-card textarea:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 12px rgba(56,189,248,.5);
}

textarea {
  resize: none;
  min-height: 80px;
}

.btn.big {
  margin-top: 18px;
  padding: 12px;
  font-size: 15px;
  letter-spacing: .5px;
}

.request-footer {
  text-align: center;
  font-size: 12px;
  opacity: .6;
  margin-top: 15px;
}

/* kleine hover animatie */
.btn.big:hover {
  transform: translateY(-1px);
}

/* ===== Header met logo ===== */

.main-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.header-left{
  display:flex;
  align-items:center;
  gap:12px;
}

.logo{
  height:42px;
  width:auto;
  filter:drop-shadow(0 0 8px rgba(56,189,248,.6));
}

.header-right{
  display:flex;
  align-items:center;
  gap:10px;
}

/* Login logo */
.login-logo{
  max-width:160px;
  width:100%;
  height:auto;
  margin-bottom:10px;
  filter:drop-shadow(0 0 12px rgba(56,189,248,.6));
}

/* ===== NEON LOGIN ===== */

html,body{
  width:100%;
  height:100%;
  margin:0;
}

.neon-login{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at top,#020617,#000);
  overflow:hidden;
}

/* card */
.neon-card{
  position:relative;
  width:100%;
  max-width:420px;
  padding:50px 40px 45px;
  background:#020617;
  border-radius:26px;
  text-align:center;
  box-shadow:
    0 0 40px rgba(56,189,248,.4),
    0 0 120px rgba(56,189,248,.15);
}

/* neon rings */
.neon-ring{
  position:absolute;
  inset:-40%;
  border-radius:50%;
  filter:blur(50px);
  opacity:.6;
  animation:pulse 6s infinite alternate;
}

.r1{background:#38bdf8}
.r2{background:#22c55e;animation-delay:2s}

/* logo */
.neon-logo{
  max-width:140px;
  margin-bottom:18px;
  filter:
    drop-shadow(0 0 12px #38bdf8)
    drop-shadow(0 0 25px #38bdf8);
}

/* text */
.neon-title{
  margin:0;
  font-size:26px;
  letter-spacing:2px;
  color:#38bdf8;
  text-shadow:
    0 0 6px #38bdf8,
    0 0 20px #38bdf8;
}

.neon-sub{
  font-size:12px;
  letter-spacing:1px;
  opacity:.7;
  margin-bottom:22px;
}

/* inputs */
.neon-form input{
  width:100%;
  margin:12px 0;
  padding:14px;
  background:#020617;
  border:1px solid rgba(56,189,248,.35);
  border-radius:14px;
  color:#fff;
  box-shadow:0 0 12px rgba(56,189,248,.15);
}

.neon-form input:focus{
  outline:none;
  box-shadow:
    0 0 0 2px rgba(56,189,248,.4),
    0 0 25px rgba(56,189,248,.8);
}

/* button */
.neon-btn{
  margin-top:18px;
  width:100%;
  padding:14px;
  border-radius:18px;
  background:#020617;
  border:2px solid #38bdf8;
  color:#38bdf8;
  font-size:14px;
  letter-spacing:2px;
  cursor:pointer;
  box-shadow:
    0 0 10px #38bdf8,
    inset 0 0 10px rgba(56,189,248,.5);
  transition:.2s;
}

.neon-btn:hover{
  background:#38bdf8;
  color:#020617;
  box-shadow:
    0 0 25px #38bdf8,
    0 0 60px #38bdf8;
}

/* error */
.neon-error{
  background:#450a0a;
  border:1px solid #ef4444;
  color:#fecaca;
  padding:10px;
  border-radius:12px;
  margin-bottom:12px;
  box-shadow:0 0 20px rgba(239,68,68,.6);
}

@keyframes pulse{
  from{transform:scale(.95)}
  to{transform:scale(1.05)}
}

/* ===== NEON REQUEST SYSTEM ===== */

.neon-request-page{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  background:radial-gradient(circle at top,#020617,#000);
}

.neon-request-card{
  width:100%;
  max-width:420px;
  padding:45px 40px;
  background:#020617;
  border-radius:28px;
  text-align:center;
  box-shadow:
    0 0 40px rgba(56,189,248,.45),
    0 0 120px rgba(56,189,248,.2);
  animation:fadeUp .6s ease;
}

/* titel */
.neon-title{
  margin:0;
  font-size:26px;
  letter-spacing:2px;
  color:#38bdf8;
  text-shadow:
    0 0 8px #38bdf8,
    0 0 24px #38bdf8;
}

.neon-sub{
  font-size:12px;
  letter-spacing:1px;
  opacity:.7;
  margin-bottom:22px;
}

/* form */
.neon-form input,
.neon-form textarea{
  width:100%;
  margin:12px 0;
  padding:14px;
  background:#020617;
  border:1px solid rgba(56,189,248,.4);
  border-radius:16px;
  color:#fff;
  box-shadow:0 0 12px rgba(56,189,248,.2);
}

.neon-form textarea{
  resize:none;
  min-height:80px;
}

.neon-form input:focus,
.neon-form textarea:focus{
  outline:none;
  box-shadow:
    0 0 0 2px rgba(56,189,248,.4),
    0 0 28px rgba(56,189,248,.9);
}

/* knop */
.neon-btn{
  margin-top:18px;
  width:100%;
  padding:15px;
  border-radius:20px;
  background:#020617;
  border:2px solid #38bdf8;
  color:#38bdf8;
  font-size:14px;
  letter-spacing:2px;
  cursor:pointer;
  box-shadow:
    0 0 14px #38bdf8,
    inset 0 0 14px rgba(56,189,248,.5);
  transition:.2s;
}

.neon-btn:hover{
  background:#38bdf8;
  color:#020617;
  box-shadow:
    0 0 30px #38bdf8,
    0 0 70px #38bdf8;
}

/* foutmelding */
.neon-error{
  background:#450a0a;
  border:1px solid #ef4444;
  color:#fecaca;
  padding:12px;
  border-radius:14px;
  margin-bottom:12px;
  box-shadow:0 0 20px rgba(239,68,68,.6);
}

/* animatie */
@keyframes fadeUp{
  from{opacity:0;transform:translateY(25px)}
  to{opacity:1;transform:none}
}

/* ===== NEON BLUE GLOBAL THEME ===== */

:root{
  --neon:#38bdf8;
  --neon-soft:rgba(56,189,248,.35);
  --neon-glow:rgba(56,189,248,.75);
  --bg-dark:#020617;
  --bg-card:#0f172a;
}

body{
  background:radial-gradient(circle at top,var(--bg-card),var(--bg-dark));
}

/* CARDS */
.card{
  background:linear-gradient(160deg,var(--bg-card),var(--bg-dark));
  border-radius:22px;
  box-shadow:
    0 0 25px var(--neon-soft),
    inset 0 0 0 1px rgba(255,255,255,.04);
  transition:.25s;
}

.card:hover{
  box-shadow:
    0 0 40px var(--neon-glow),
    inset 0 0 0 1px rgba(255,255,255,.08);
}

/* TITELS */
h1,h2,h3{
  color:var(--neon);
  text-shadow:0 0 12px var(--neon-glow);
}

/* INPUTS */
input, textarea{
  background:var(--bg-dark);
  border:1px solid var(--neon-soft);
  border-radius:16px;
  color:#fff;
  box-shadow:0 0 10px rgba(56,189,248,.15);
}

input:focus, textarea:focus{
  outline:none;
  box-shadow:
    0 0 0 2px var(--neon-soft),
    0 0 25px var(--neon-glow);
}

/* BUTTONS */
.btn{
  border-radius:18px;
  border:1px solid var(--neon);
  background:var(--bg-dark);
  color:var(--neon);
  box-shadow:
    0 0 10px var(--neon),
    inset 0 0 10px rgba(56,189,248,.4);
  transition:.2s;
}

.btn:hover{
  background:var(--neon);
  color:var(--bg-dark);
  box-shadow:
    0 0 30px var(--neon),
    0 0 70px var(--neon);
}

/* PLAY / ACCENT */
.btn.play{
  background:var(--bg-dark);
  border:2px solid var(--neon);
}

/* DANGER */
.btn.reject{
  border-color:#ef4444;
  color:#ef4444;
  box-shadow:0 0 10px rgba(239,68,68,.6);
}

/* HEADER */
header{
  box-shadow:0 0 30px var(--neon-soft);
}

/* DJ FOTO */
.dj-photo{
  box-shadow:0 0 15px var(--neon);
}

/* PLACEHOLDER */
.dj-placeholder{
  box-shadow:0 0 20px var(--neon);
  border:1px solid var(--neon);
}

/* ===== FORCE NEON BLUE THEME ===== */

:root{
  --neon:#38bdf8;
  --neon-soft:rgba(56,189,248,.35);
  --neon-glow:rgba(56,189,248,.85);
  --bg-dark:#020617;
  --bg-card:#0f172a;
}

/* FORCE BACKGROUND */
html, body{
  background:radial-gradient(circle at top,var(--bg-card),var(--bg-dark)) !important;
  color:#e5e7eb !important;
}

/* FORCE CARDS */
.card,
.login-card,
.neon-card,
.request-card{
  background:linear-gradient(160deg,var(--bg-card),var(--bg-dark)) !important;
  color:#e5e7eb !important;
  border-radius:22px;
  box-shadow:
    0 0 35px var(--neon-soft),
    inset 0 0 0 1px rgba(255,255,255,.05) !important;
}

/* FORCE HEADERS */
header{
  background:linear-gradient(180deg,var(--bg-card),var(--bg-dark)) !important;
  box-shadow:0 0 35px var(--neon-soft) !important;
}

/* FORCE TITLES */
h1,h2,h3,h4{
  color:var(--neon) !important;
  text-shadow:0 0 14px var(--neon-glow);
}

/* FORCE INPUTS */
input, textarea{
  background:var(--bg-dark) !important;
  color:#fff !important;
  border:1px solid var(--neon-soft) !important;
  box-shadow:0 0 12px rgba(56,189,248,.2) !important;
}

input::placeholder,
textarea::placeholder{
  color:#94a3b8 !important;
}

/* FORCE BUTTONS */
.btn{
  background:var(--bg-dark) !important;
  color:var(--neon) !important;
  border:2px solid var(--neon) !important;
  box-shadow:
    0 0 14px var(--neon),
    inset 0 0 14px rgba(56,189,248,.4) !important;
}

.btn:hover{
  background:var(--neon) !important;
  color:var(--bg-dark) !important;
  box-shadow:
    0 0 35px var(--neon),
    0 0 90px var(--neon) !important;
}

/* DANGER */
.btn.reject{
  border-color:#ef4444 !important;
  color:#ef4444 !important;
  box-shadow:0 0 14px rgba(239,68,68,.7) !important;
}

/* DJ PHOTO / ICON */
.dj-photo,
.logo,
.login-logo{
  box-shadow:0 0 20px var(--neon) !important;
}

/* PLACEHOLDER */
.dj-placeholder{
  border:1px solid var(--neon) !important;
  box-shadow:0 0 25px var(--neon) !important;
}

/* CONTAINERS */
.container,
.login-page,
.neon-login,
.neon-request-page{
  background:transparent !important;
}

/* ===== NUCLEAR NEON BLUE OVERRIDE ===== */

/* reset wit */
*{
  box-sizing:border-box;
}

/* ALLES donker maken */
html, body, div, section, main, article, header, footer, nav{
  background-color: transparent !important;
}

/* force achtergrond */
body{
  background:radial-gradient(circle at top,#0f172a,#020617) !important;
  color:#e5e7eb !important;
}

/* force cards */
.card,
.login-card,
.neon-card,
.request-card,
[class*="card"]{
  background:linear-gradient(160deg,#0f172a,#020617) !important;
  color:#e5e7eb !important;
  border-radius:22px !important;
  box-shadow:
    0 0 40px rgba(56,189,248,.45),
    inset 0 0 0 1px rgba(255,255,255,.05) !important;
}

/* force tekst */
h1,h2,h3,h4,h5,h6{
  color:#38bdf8 !important;
  text-shadow:0 0 16px rgba(56,189,248,.9) !important;
}

p,span,label{
  color:#e5e7eb !important;
}

/* force inputs */
input, textarea, select{
  background:#020617 !important;
  color:#fff !important;
  border:1px solid rgba(56,189,248,.6) !important;
  box-shadow:0 0 14px rgba(56,189,248,.35) !important;
}

/* force buttons */
button, .btn{
  background:#020617 !important;
  color:#38bdf8 !important;
  border:2px solid #38bdf8 !important;
  box-shadow:
    0 0 18px #38bdf8,
    inset 0 0 18px rgba(56,189,248,.5) !important;
}

button:hover, .btn:hover{
  background:#38bdf8 !important;
  color:#020617 !important;
  box-shadow:
    0 0 45px #38bdf8,
    0 0 100px #38bdf8 !important;
}

/* danger */
.btn.reject{
  border-color:#ef4444 !important;
  color:#ef4444 !important;
  box-shadow:0 0 18px rgba(239,68,68,.8) !important;
}

/* logo & dj photo */
img.logo, .login-logo, .dj-photo{
  box-shadow:0 0 25px #38bdf8 !important;
}

/* containers transparant */
.container,
.login-page,
.neon-login,
.neon-request-page{
  background:transparent !important;
}


