
:root{
  --bg:#070914;
  --bg2:#0b1020;
  --text:#ffffff;
  --muted:#a8b3cf;
  --accent:#00bfff;
  --accent2:#ffd43b;
  --danger:#ff5c7a;
  --ok:#39ff88;
  --border:rgba(255,255,255,.14);
  --panel:rgba(255,255,255,.08);
  --panel2:rgba(255,255,255,.13);
  --shadow:0 18px 55px rgba(0,0,0,.30);
}

*{
  box-sizing:border-box;
}

html,
body{
  margin:0;
  width:100%;
  min-height:100%;
  font-family:Arial,system-ui,sans-serif;
  background:var(--bg);
  color:var(--text);
}

button,
input,
textarea{
  font:inherit;
}

button{
  border:0;
  cursor:pointer;
}

a{
  color:inherit;
  text-decoration:none;
}

.hidden{
  display:none!important;
}

.eyebrow{
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:.20em;
  font-weight:900;
  font-size:12px;
}

p,
.muted{
  color:var(--muted);
}

.status{
  min-height:22px;
  color:var(--accent2);
  font-weight:900;
  margin-top:8px;
}

.empty{
  padding:14px;
  border:1px dashed var(--border);
  border-radius:16px;
  color:var(--muted);
  text-align:center;
}

.primary{
  background:var(--accent)!important;
  color:#00111a!important;
  font-weight:1000!important;
}

.danger{
  background:var(--danger)!important;
  color:white!important;
}

.ok{
  color:var(--ok);
}

/* =========================================================
   GLOBAL CARDS / FORM
========================================================= */

.card,
.info-card,
.panel,
.nfc-card,
.mobile-app,
.login-card,
.admin-shell{
  border:1px solid var(--border);
  background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.05));
  box-shadow:var(--shadow);
}

.card,
.info-card,
.panel{
  padding:18px;
  border-radius:22px;
}

label{
  display:block;
  margin:10px 0 5px;
  color:var(--muted);
  font-weight:900;
}

input,
textarea{
  width:100%;
  min-height:44px;
  padding:10px 12px;
  border-radius:13px;
  border:1px solid var(--border);
  background:rgba(0,0,0,.26);
  color:white;
}

textarea{
  min-height:260px;
  font-family:monospace;
}

button{
  min-height:44px;
  padding:10px 14px;
  border-radius:14px;
  background:var(--panel);
  color:#fff;
  font-weight:900;
}

/* =========================================================
   KIOSK BASE
========================================================= */

.kiosk-body{
  width:100vw;
  height:100vh;
  overflow:hidden;
}

.no-nav-shell{
  position:relative;
  width:100%;
  height:100%;
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 8%,rgba(0,191,255,.18),transparent 32%),
    radial-gradient(circle at 92% 86%,rgba(255,212,59,.12),transparent 36%),
    radial-gradient(circle at 55% 30%,rgba(86,120,255,.08),transparent 34%),
    var(--bg);
}

.kiosk-screen{
  display:none;
  position:absolute;
  inset:0;
  padding:18px;
  overflow:hidden;
}

.kiosk-screen.active{
  display:block;
  animation:screenFade .16s ease;
}

@keyframes screenFade{
  from{opacity:.25;transform:scale(.99)}
  to{opacity:1;transform:scale(1)}
}

.corner-back{
  position:fixed;
  z-index:80;
  top:14px;
  left:14px;
  width:58px;
  height:58px;
  border-radius:18px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
  font-size:54px;
  line-height:0;
  padding:0 0 7px;
  display:grid;
  place-items:center;
  box-shadow:0 12px 34px rgba(0,0,0,.36);
  backdrop-filter:blur(14px);
}

/* =========================================================
   HOME SCREEN
========================================================= */

.home{
  height:100%;
  display:grid;
  grid-template-rows:auto auto 1fr;
  gap:14px;
  overflow:hidden;
}

.topbar{
  min-height:54px;
  padding:8px 14px;
  border-radius:18px;
  border:1px solid rgba(0,191,255,.30);
  background:linear-gradient(160deg,rgba(0,191,255,.13),rgba(255,255,255,.05));
  display:flex;
  align-items:center;
  gap:12px;
  overflow:hidden;
}

.live-label{
  flex:0 0 auto;
  background:var(--accent);
  color:#00111a;
  border-radius:999px;
  padding:7px 11px;
  font-weight:1000;
  font-size:12px;
  letter-spacing:.08em;
}

.ticker{
  flex:1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-weight:900;
  font-size:clamp(15px,1.25vw,22px);
}

.clock{
  flex:0 0 auto;
  color:var(--accent2);
  font-weight:1000;
}

.hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:16px;
  align-items:end;
  min-height:0;
}

.brand-row{
  min-width:0;
  display:flex;
  align-items:center;
  gap:20px;
}

.logo{
  flex:0 0 auto;
  width:min(230px,17vw);
  max-height:138px;
  object-fit:contain;
  filter:drop-shadow(0 16px 28px rgba(0,0,0,.45));
}

.hero h1{
  font-size:clamp(40px,5.3vw,88px);
  line-height:.88;
  margin:4px 0;
}

.hero p{
  font-size:clamp(16px,1.35vw,24px);
  line-height:1.25;
  margin:0;
}

.status-card{
  min-height:116px;
  padding:14px;
  border-radius:22px;
  border:1px solid var(--border);
  background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.05));
  display:grid;
  grid-template-columns:84px 1fr;
  gap:13px;
  align-items:center;
}

.status-ring{
  width:84px;
  height:84px;
  border-radius:999px;
  border:4px solid rgba(0,191,255,.42);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.status-ring strong{
  color:var(--accent2);
  font-size:21px;
  line-height:1;
}

.status-ring span{
  color:var(--muted);
  font-size:10px;
  font-weight:900;
}

.tile-grid{
  min-height:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:14px;
  overflow:hidden;
}

.tile{
  min-width:0;
  min-height:0;
  position:relative;
  overflow:hidden;
  border-radius:24px;
  border:1px solid var(--border);
  background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.05))!important;
  color:#fff!important;
  text-align:left;
  padding:16px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:0 16px 46px rgba(0,0,0,.26);
}

.tile::after{
  content:"";
  position:absolute;
  right:-48px;
  bottom:-54px;
  width:150px;
  height:150px;
  border-radius:999px;
  background:radial-gradient(rgba(255,255,255,.10),transparent 70%);
}

.tile.featured{
  grid-column:span 2;
}

.tile span,
.tile strong,
.tile small{
  position:relative;
  z-index:1;
}

.tile span{
  font-size:clamp(30px,3vw,50px);
  line-height:1;
}

.tile strong{
  display:block;
  font-size:clamp(22px,2.05vw,36px);
  line-height:1.05;
}

.tile small{
  color:var(--muted);
  font-size:clamp(12px,1vw,17px);
  line-height:1.25;
}

/* =========================================================
   CONTENT SCREENS
========================================================= */

.screen-content{
  height:100%;
  overflow:auto;
  padding:58px 8px 8px;
}

.screen-title{
  margin-bottom:16px;
}

.screen-title h2{
  margin:4px 0;
  font-size:clamp(40px,4.8vw,74px);
  line-height:.92;
}

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

.info-card{
  min-height:150px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.info-card strong{
  font-size:clamp(22px,2vw,34px);
}

.info-card b{
  color:var(--accent2);
  font-size:clamp(28px,2.8vw,44px);
}

.info-card span{
  color:var(--muted);
  line-height:1.35;
}

.list-card{
  display:grid;
  gap:10px;
}

.list-row{
  min-height:64px;
  padding:12px 18px;
  border-radius:18px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.05);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  font-size:clamp(18px,1.8vw,30px);
}

.list-row span{
  color:var(--muted);
}

/* =========================================================
   BOOKING
========================================================= */

.booking-frame{
  width:100%;
  min-width:100%;
  height:calc(100vh - 118px);
  border:0;
  border-radius:24px;
  background:white;
}

/* =========================================================
   PRICE SCREEN - STABLE
========================================================= */

.price-screen{
  height:100%;
  overflow:hidden;
  padding:58px 8px 8px;
  display:grid;
  grid-template-rows:auto 1fr;
  gap:12px;
}

.price-title h2{
  margin:4px 0;
  font-size:clamp(38px,4.6vw,72px);
  line-height:.9;
}

.price-title p{
  margin:0;
}

.price-main-grid{
  min-height:0;
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(300px,.85fr);
  gap:14px;
  overflow:hidden;
}

.price-box{
  min-height:0;
  overflow:hidden;
  padding:16px;
  border-radius:24px;
  border:1px solid var(--border);
  background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.05));
  display:grid;
  grid-template-rows:auto 1fr auto;
  gap:12px;
}

.price-box-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}

.price-box-header h3{
  font-size:clamp(28px,2.6vw,42px);
  margin:3px 0 0;
  line-height:.95;
}

.price-icon{
  font-size:clamp(34px,3vw,52px);
  line-height:1;
}

.bowling-price-grid{
  min-height:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  overflow:hidden;
}

.price-time-card{
  min-width:0;
  min-height:0;
  border-radius:20px;
  border:1px solid var(--border);
  background:rgba(0,0,0,.24);
  padding:14px;
  display:flex;
  flex-direction:column;
}

.price-time-card h4{
  flex:0 0 auto;
  min-height:42px;
  margin:0 0 8px;
  color:var(--accent2);
  font-size:clamp(22px,2vw,32px);
  line-height:1;
}

.price-time-card h4 small{
  display:block;
  margin-top:5px;
  color:#b8c4df;
  font-size:clamp(11px,.9vw,14px);
  text-transform:uppercase;
  letter-spacing:.08em;
}

.price-line{
  flex:1;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:4px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.price-line:last-child{
  border-bottom:none;
}

.price-line span{
  font-size:clamp(15px,1.25vw,21px);
}

.price-line strong{
  font-size:clamp(18px,1.65vw,28px);
  white-space:nowrap;
}

.price-note-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:9px 14px;
  border-radius:16px;
  background:rgba(0,0,0,.22);
  color:var(--muted);
}

.billiard-card-grid{
  min-height:0;
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:12px;
}

.billiard-price-card{
  min-height:0;
  padding:16px;
  border-radius:20px;
  border:1px solid var(--border);
  background:rgba(0,0,0,.24);
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.billiard-price-card strong{
  color:var(--accent2);
  font-size:clamp(36px,3.6vw,56px);
  line-height:1;
  margin:8px 0;
}

/* =========================================================
   MUSIC
========================================================= */

.music-layout{
  height:100%;
  display:grid;
  grid-template-columns:340px minmax(0,1fr) 400px;
  gap:14px;
  overflow:hidden;
}

.music-panel{
  min-height:0;
  overflow:hidden;
  padding:16px;
  border-radius:24px;
  border:1px solid var(--border);
  background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.05));
  display:flex;
  flex-direction:column;
  gap:12px;
}

.music-panel h3{
  margin:0;
  font-size:clamp(25px,2.2vw,38px);
}

.search-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
}

.quick-tags{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:8px;
}

.quick-tags button{
  min-height:42px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.10);
}

.qr-mini-box{
  margin-top:auto;
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:11px;
  border-radius:17px;
  border:1px solid var(--border);
  background:rgba(0,0,0,.22);
}

.qr-mini{
  width:82px;
  height:82px;
  border-radius:12px;
  background:white;
}

.results,
.queue-list,
.feed-list,
.leaderboard-list,
.challenge-grid,
.rewards-grid,
.admin-list{
  min-height:0;
  display:grid;
  gap:9px;
  overflow:auto;
}

.track-card,
.song-row,
.feed-item,
.leader-item,
.reward-card,
.challenge-card,
.redemption-row{
  min-width:0;
  padding:9px;
  border-radius:17px;
  border:1px solid var(--border);
  background:rgba(0,0,0,.22);
  display:grid;
  gap:10px;
  align-items:center;
}

.track-card{
  grid-template-columns:58px minmax(0,1fr) 40px;
  text-align:left;
  color:white;
}

.song-row{
  grid-template-columns:54px minmax(0,1fr) 38px;
}

.track-card img,
.song-row img{
  width:54px;
  height:54px;
  border-radius:13px;
  object-fit:cover;
  background:#111;
}

.track-card strong,
.song-row strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.track-card span,
.track-card small,
.song-row span,
.song-row small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:12px;
  color:var(--muted);
}

.track-card small,
.song-row small{
  color:var(--accent2);
}

.track-card b,
.vote-btn{
  width:36px;
  height:36px;
  border-radius:999px;
  background:var(--accent2)!important;
  color:#111!important;
  display:grid;
  place-items:center;
  padding:0;
}

/* =========================================================
   MEMBER / REWARDS / FEED / CHALLENGES
========================================================= */

.member-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,1fr);
  gap:18px;
  align-items:center;
}

.member-card{
  position:relative;
  overflow:hidden;
  padding:22px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.22);
  background:linear-gradient(135deg,rgba(0,191,255,.22),rgba(255,212,59,.1),rgba(255,255,255,.08));
  box-shadow:0 28px 90px rgba(0,0,0,.42);
}

.member-card h3{
  font-size:clamp(32px,4vw,54px);
  line-height:.95;
  margin:8px 0;
}

.member-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.member-stats div{
  padding:10px;
  border-radius:16px;
  background:rgba(0,0,0,.24);
}

.member-stats strong{
  display:block;
  color:var(--accent2);
  font-size:clamp(22px,2.6vw,36px);
}

.action-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.action-card{
  min-height:130px;
  padding:16px;
  border-radius:22px;
  border:1px solid var(--border);
  background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.05));
  color:white;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  text-align:left;
}

.action-card span{
  font-size:34px;
}

.feed-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:16px;
}

.feed-item{
  grid-template-columns:48px minmax(0,1fr);
}

.feed-item span{
  font-size:30px;
}

.leader-item{
  grid-template-columns:48px minmax(0,1fr) auto;
}

.leader-item b{
  color:var(--accent2);
}

.challenge-grid,
.rewards-grid{
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}

.challenge-card,
.reward-card{
  min-height:170px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.challenge-card span,
.reward-card span{
  font-size:38px;
}

.challenge-card b,
.reward-card b{
  color:var(--accent2);
}

/* =========================================================
   NORMAL PAGES
========================================================= */

.nfc-body,
.mobile-body,
.login-body,
.admin-body{
  min-height:100vh;
  overflow:auto;
  background:
    radial-gradient(circle at 20% 10%,rgba(0,191,255,.16),transparent 32%),
    radial-gradient(circle at 80% 90%,rgba(255,212,59,.10),transparent 34%),
    var(--bg);
}

.nfc-card,
.mobile-app,
.login-card,
.admin-shell{
  width:min(900px,calc(100% - 28px));
  margin:24px auto;
  padding:24px;
  border-radius:28px;
}

.mobile-app,
.admin-shell{
  width:min(1300px,calc(100% - 28px));
}

.player-box{
  display:flex;
  gap:16px;
  align-items:center;
  padding:16px;
  border-radius:20px;
  background:rgba(0,0,0,.22);
  border:1px solid var(--border);
}

.avatar{
  font-size:44px;
}

.bonus{
  display:inline-block;
  margin-top:10px;
  padding:8px 16px;
  border-radius:999px;
  background:var(--accent2);
  color:#111;
  font-weight:1000;
}

.uid-box{
  padding:10px 12px;
  border-radius:14px;
  border:1px solid var(--border);
  color:var(--accent2);
  background:rgba(0,0,0,.20);
  font-family:monospace;
}

.muted-link{
  display:block;
  margin-top:16px;
  color:var(--muted);
}

/* =========================================================
   ADMIN
========================================================= */

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

.admin-header{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:16px;
}

.admin-nav{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.admin-nav a,
.admin-nav button{
  display:inline-flex;
  align-items:center;
}

.admin-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.admin-nfc-box{
  padding:18px;
  border-radius:22px;
  border:1px solid rgba(0,191,255,.32);
  background:linear-gradient(160deg,rgba(0,191,255,.13),rgba(255,255,255,.05));
  text-align:center;
}

.admin-nfc-pulse{
  width:84px;
  height:84px;
  margin:12px auto;
  border-radius:999px;
  border:4px solid rgba(0,191,255,.35);
  position:relative;
}

.admin-nfc-pulse:before,
.admin-nfc-pulse:after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  border:4px solid rgba(0,191,255,.24);
  animation:pulse 1.7s infinite;
}

.admin-nfc-pulse:after{
  animation-delay:.85s;
}

@keyframes pulse{
  from{transform:scale(.82);opacity:.9}
  to{transform:scale(1.35);opacity:0}
}

/* =========================================================
   TV MODE
========================================================= */

.tv-body{
  width:100vw;
  height:100vh;
  overflow:hidden;
  background:
    radial-gradient(circle at 15% 15%,rgba(0,191,255,.18),transparent 30%),
    radial-gradient(circle at 85% 80%,rgba(255,0,255,.16),transparent 30%),
    var(--bg);
}

.tv-screen{
  position:relative;
  width:100%;
  height:100%;
  overflow:hidden;
}

.tv-slide{
  display:none;
  position:absolute;
  inset:0;
  padding:34px;
  overflow:hidden;
}

.tv-slide.active{
  display:grid;
  place-items:center;
}

.tv-slide h1{
  font-size:clamp(52px,7vw,110px);
  line-height:.9;
  margin:8px 0;
}

.tv-slide h2{
  font-size:clamp(34px,4vw,64px);
}

.tv-slide p{
  font-size:clamp(22px,2.3vw,36px);
}

.tv-two{
  width:100%;
  height:100%;
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:28px;
  align-items:center;
}

.tv-logo{
  width:min(360px,32vw);
  max-height:260px;
  object-fit:contain;
  filter:drop-shadow(0 22px 45px rgba(0,0,0,.55));
}

.tv-qr{
  width:min(260px,28vw);
  border-radius:20px;
  background:white;
}

.party-heat{
  display:inline-flex;
  gap:16px;
  align-items:center;
  padding:14px 22px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid var(--border);
}

.party-heat strong{
  color:var(--accent2);
  font-size:38px;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:1200px){
  .hero{
    grid-template-columns:1fr;
  }

  .status-card{
    display:none;
  }

  .tile-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    grid-template-rows:none;
    overflow:auto;
  }

  .tile.featured{
    grid-column:span 1;
  }

  .music-layout{
    grid-template-columns:320px minmax(0,1fr);
  }

  .music-layout .music-panel:last-child{
    grid-column:1/-1;
    min-height:240px;
  }
}

@media(max-width:950px){
  .kiosk-body{
    overflow:auto;
  }

  .no-nav-shell{
    min-height:100vh;
    height:auto;
    overflow:visible;
  }

  .kiosk-screen{
    position:relative;
    min-height:100vh;
    overflow:visible;
  }

  .home{
    min-height:100vh;
    height:auto;
    overflow:visible;
  }

  .tile-grid,
  .music-layout,
  .member-grid,
  .feed-layout,
  .tv-two{
    grid-template-columns:1fr;
  }

  .tile-grid{
    grid-template-rows:none;
  }

  .price-screen{
    height:auto;
    min-height:100vh;
    overflow:visible;
    padding-top:66px;
  }

  .price-main-grid{
    grid-template-columns:1fr;
    overflow:visible;
  }

  .bowling-price-grid{
    grid-template-columns:1fr;
    overflow:visible;
  }

  .billiard-card-grid{
    grid-template-rows:none;
  }

  .booking-frame{
    height:80vh;
  }

  .brand-row{
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
  }

  .logo{
    width:170px;
    max-height:120px;
  }

  .action-grid,
  .member-stats{
    grid-template-columns:1fr;
  }

  .admin-header{
    flex-direction:column;
  }

  .admin-nav{
    justify-content:flex-start;
  }
}

@media(max-width:640px){
  .kiosk-screen{
    padding:12px;
  }

  .screen-content{
    padding:64px 0 0;
  }

  .tile-grid{
    grid-template-columns:1fr;
  }

  .tile{
    min-height:112px;
  }

  .topbar{
    min-height:48px;
  }

  .clock{
    display:none;
  }

  .hero h1{
    font-size:44px;
  }

  .nfc-card,
  .mobile-app,
  .login-card,
  .admin-shell{
    width:calc(100% - 20px);
    margin:10px auto;
    padding:18px;
    border-radius:22px;
  }
}


/* =========================================================
   KIOSK + MEMBER/NFC STABLE CSS ADDON
   Unten in public/css/style.css anhängen.
========================================================= */

.kiosk-body{width:100vw;height:100vh;overflow:hidden}
.no-nav-shell{position:relative;width:100%;height:100%;overflow:hidden;background:radial-gradient(circle at 8% 8%,rgba(0,191,255,.18),transparent 32%),radial-gradient(circle at 92% 86%,rgba(255,212,59,.12),transparent 36%),var(--bg)}
.kiosk-screen{display:none;position:absolute;inset:0;padding:18px;overflow:hidden}
.kiosk-screen.active{display:block;animation:kioskFade .16s ease}
@keyframes kioskFade{from{opacity:.25;transform:scale(.99)}to{opacity:1;transform:scale(1)}}
.corner-back{position:fixed;z-index:80;top:14px;left:14px;width:58px;height:58px;border-radius:18px;border:1px solid var(--border);background:rgba(255,255,255,.12)!important;color:#fff!important;font-size:54px;line-height:0;padding:0 0 7px;display:grid;place-items:center;box-shadow:0 12px 34px rgba(0,0,0,.36);backdrop-filter:blur(14px)}
.screen-content{height:100%;overflow:auto;padding:58px 8px 8px}
.screen-title{margin-bottom:16px}.screen-title.compact{margin-bottom:8px}.screen-title h2{margin:4px 0;font-size:clamp(40px,4.8vw,74px);line-height:.92}

.home{height:100%;display:grid;grid-template-rows:auto auto 1fr;gap:14px;overflow:hidden}
.topbar{min-height:54px;padding:8px 14px;border-radius:18px;border:1px solid rgba(0,191,255,.30);background:linear-gradient(160deg,rgba(0,191,255,.13),rgba(255,255,255,.05));display:flex;align-items:center;gap:12px;overflow:hidden}
.live-label{flex:0 0 auto;background:var(--accent);color:#00111a;border-radius:999px;padding:7px 11px;font-weight:1000;font-size:12px;letter-spacing:.08em}
.ticker{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:900;font-size:clamp(15px,1.25vw,22px)}
.clock{flex:0 0 auto;color:var(--accent2);font-weight:1000}
.hero{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:end;min-height:0}
.brand-row{min-width:0;display:flex;align-items:center;gap:20px}
.logo{flex:0 0 auto;width:min(230px,17vw);max-height:138px;object-fit:contain;filter:drop-shadow(0 16px 28px rgba(0,0,0,.45))}
.hero h1{font-size:clamp(40px,5.3vw,88px);line-height:.88;margin:4px 0}.hero p{font-size:clamp(16px,1.35vw,24px);line-height:1.25;margin:0}
.status-card{min-height:116px;padding:14px;border-radius:22px;border:1px solid var(--border);background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.05));display:grid;grid-template-columns:84px 1fr;gap:13px;align-items:center}
.status-ring{width:84px;height:84px;border-radius:999px;border:4px solid rgba(0,191,255,.42);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.status-ring strong{color:var(--accent2);font-size:21px;line-height:1}.status-ring span{color:var(--muted);font-size:10px;font-weight:900}
.tile-grid{min-height:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:14px;overflow:hidden}
.tile{min-width:0;min-height:0;position:relative;overflow:hidden;border-radius:24px;border:1px solid var(--border);background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.05))!important;color:#fff!important;text-align:left;padding:16px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 16px 46px rgba(0,0,0,.26)}
.tile.member{border-color:rgba(255,212,59,.35)}.tile.featured{grid-column:span 2}.tile span{font-size:clamp(30px,3vw,50px);line-height:1}.tile strong{display:block;font-size:clamp(22px,2.05vw,36px);line-height:1.05}.tile small{color:var(--muted);font-size:clamp(12px,1vw,17px);line-height:1.25}

.booking-frame{width:100%;min-width:100%;height:calc(100vh - 118px);border:0;border-radius:24px;background:white}
.price-screen{height:100%;overflow:hidden;padding:58px 8px 8px;display:grid;grid-template-rows:auto 1fr;gap:12px}.price-title h2{margin:4px 0;font-size:clamp(38px,4.6vw,72px);line-height:.9}.price-main-grid{min-height:0;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.85fr);gap:14px;overflow:hidden}.price-box{min-height:0;overflow:hidden;padding:16px;border-radius:24px;border:1px solid var(--border);background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.05));display:grid;grid-template-rows:auto 1fr auto;gap:12px}.price-box-header{display:flex;justify-content:space-between;gap:12px}.price-box-header h3{font-size:clamp(28px,2.6vw,42px);margin:3px 0 0;line-height:.95}.price-icon{font-size:clamp(34px,3vw,52px)}.bowling-price-grid{min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;overflow:hidden}.price-time-card{min-width:0;min-height:0;border-radius:20px;border:1px solid var(--border);background:rgba(0,0,0,.24);padding:14px;display:flex;flex-direction:column}.price-time-card h4{flex:0 0 auto;min-height:42px;margin:0 0 8px;color:var(--accent2);font-size:clamp(22px,2vw,32px);line-height:1}.price-time-card h4 small{display:block;margin-top:5px;color:#b8c4df;font-size:clamp(11px,.9vw,14px);text-transform:uppercase}.price-line{flex:1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.08)}.price-line strong{font-size:clamp(18px,1.65vw,28px);white-space:nowrap}.price-note-row{display:flex;justify-content:space-between;gap:12px;padding:9px 14px;border-radius:16px;background:rgba(0,0,0,.22);color:var(--muted)}.billiard-card-grid{display:grid;grid-template-rows:1fr 1fr;gap:12px}.billiard-price-card{padding:16px;border-radius:20px;border:1px solid var(--border);background:rgba(0,0,0,.24);display:flex;flex-direction:column;justify-content:center}.billiard-price-card strong{color:var(--accent2);font-size:clamp(36px,3.6vw,56px)}

.music-layout{height:100%;display:grid;grid-template-columns:340px minmax(0,1fr) 400px;gap:14px;overflow:hidden}.music-panel{min-height:0;overflow:hidden;padding:16px;border-radius:24px;border:1px solid var(--border);background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.05));display:flex;flex-direction:column;gap:12px}.music-panel h3{margin:0;font-size:clamp(25px,2.2vw,38px)}.search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.quick-tags{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.quick-tags button{min-height:42px;border-radius:13px;border:1px solid var(--border);background:rgba(255,255,255,.10);color:white;font-weight:900}.qr-mini-box{margin-top:auto;display:grid;grid-template-columns:82px minmax(0,1fr);gap:12px;align-items:center;padding:11px;border-radius:17px;border:1px solid var(--border);background:rgba(0,0,0,.22)}.qr-mini{width:82px;height:82px;border-radius:12px;background:white}.results,.queue-list,.feed-list,.leaderboard-list,.challenge-grid,.rewards-grid{min-height:0;display:grid;gap:9px;overflow:auto}.track-card,.song-row,.feed-item,.leader-item,.reward-card,.challenge-card{min-width:0;padding:9px;border-radius:17px;border:1px solid var(--border);background:rgba(0,0,0,.22);display:grid;gap:10px;align-items:center}.track-card{grid-template-columns:58px minmax(0,1fr) 40px;text-align:left;color:white}.song-row{grid-template-columns:54px minmax(0,1fr) 38px}.track-card img,.song-row img{width:54px;height:54px;border-radius:13px;object-fit:cover;background:#111}.track-card strong,.song-row strong,.track-card span,.track-card small,.song-row span,.song-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-card span,.track-card small,.song-row span,.song-row small{font-size:12px;color:var(--muted)}.track-card small,.song-row small{color:var(--accent2)}.track-card b,.vote-btn{width:36px;height:36px;border-radius:999px;background:var(--accent2)!important;color:#111!important;display:grid;place-items:center;padding:0}

.member-grid{display:grid;grid-template-columns:minmax(430px,620px) minmax(360px,1fr);gap:22px;align-items:start}.bcn-member-card{position:relative;overflow:hidden;min-height:360px;padding:24px;border-radius:30px;border:1px solid rgba(255,255,255,.22);background:linear-gradient(135deg,rgba(0,191,255,.22),rgba(255,212,59,.10) 42%,rgba(255,255,255,.08)),linear-gradient(160deg,rgba(255,255,255,.18),rgba(255,255,255,.05));box-shadow:0 28px 90px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.18)}.bcn-card-bg{position:absolute;inset:0;background:radial-gradient(circle at 12% 20%,rgba(0,191,255,.34),transparent 28%),radial-gradient(circle at 90% 80%,rgba(255,212,59,.22),transparent 32%),linear-gradient(120deg,transparent 0 42%,rgba(255,255,255,.08) 42% 44%,transparent 44% 100%);pointer-events:none}.bcn-card-top,.bcn-card-center,.bcn-card-stats,.bcn-card-bottom{position:relative;z-index:1}.bcn-card-top{display:flex;justify-content:space-between;gap:18px}.bcn-card-top span,.bcn-card-center small,.bcn-card-bottom span,.bcn-card-stats span{display:block;color:rgba(255,255,255,.72);text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:900}.bcn-card-top strong{font-size:26px}.bcn-card-chip{width:58px;height:44px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(160deg,rgba(255,212,59,.95),rgba(255,255,255,.38));font-size:26px}.bcn-card-center{display:flex;align-items:center;gap:16px;margin:34px 0 24px}.bcn-card-avatar{width:78px;height:78px;border-radius:22px;border:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.26);display:grid;place-items:center;font-size:42px}.bcn-card-center h3{margin:4px 0;font-size:clamp(34px,4vw,56px);line-height:.95}.bcn-card-center p{margin:0}.bcn-card-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}.bcn-card-stats div{min-height:78px;padding:10px;border-radius:16px;border:1px solid rgba(255,255,255,.13);background:rgba(0,0,0,.24);display:flex;flex-direction:column;justify-content:center}.bcn-card-stats strong{color:var(--accent2);font-size:clamp(26px,3vw,42px)}.bcn-card-bottom{display:flex;justify-content:space-between;gap:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.14)}.bcn-card-bottom strong{color:var(--accent);letter-spacing:.12em}.member-side{display:grid;gap:14px}.member-scan-panel,.member-register-box{padding:20px;border-radius:24px;border:1px solid var(--border);background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.05));box-shadow:var(--shadow)}.scan-icon{font-size:54px}.member-scan-panel h3,.member-register-box h3{margin:4px 0 8px;font-size:clamp(26px,2.5vw,40px);line-height:1}.member-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.action-card{min-height:128px;padding:16px;border-radius:22px;border:1px solid var(--border);background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.05));color:white;display:flex;flex-direction:column;justify-content:space-between;text-align:left}.action-card span{font-size:34px}.action-card small{color:var(--muted)}

.kiosk-nfc-display{width:100%;min-height:calc(100vh - 110px);padding:26px;border-radius:32px;border:1px solid var(--border);background:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,.05));display:grid;place-items:center;text-align:center;box-shadow:0 26px 90px rgba(0,0,0,.36)}.kiosk-nfc-state{display:none;width:100%}.kiosk-nfc-state.active{display:block}.kiosk-nfc-icon{font-size:82px}.kiosk-nfc-display h2{margin:10px 0;font-size:clamp(48px,6vw,94px);line-height:.9}.scan-ring{width:130px;height:130px;margin:20px auto 12px;border-radius:999px;border:4px solid rgba(0,191,255,.35);position:relative}.scan-ring:before,.scan-ring:after{content:"";position:absolute;inset:0;border-radius:inherit;border:4px solid rgba(0,191,255,.25);animation:ringPulse 1.7s infinite}.scan-ring:after{animation-delay:.8s}@keyframes ringPulse{from{transform:scale(.82);opacity:.9}to{transform:scale(1.35);opacity:0}}.uid-box{display:inline-block;padding:10px 14px;border-radius:14px;border:1px solid var(--border);color:var(--accent2);background:rgba(0,0,0,.22);font-family:monospace}.terminal-stats{max-width:820px;margin:24px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.terminal-stats div{min-height:100px;padding:14px;border-radius:18px;border:1px solid var(--border);background:rgba(0,0,0,.24);display:flex;flex-direction:column;justify-content:center}.terminal-stats strong{color:var(--accent2);font-size:clamp(30px,3.5vw,54px)}.terminal-stats span{color:var(--muted);font-weight:900}
.feed-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px}.feed-item{grid-template-columns:48px minmax(0,1fr)}.leader-item{grid-template-columns:48px minmax(0,1fr) auto}.leader-item b,.challenge-card b,.reward-card b{color:var(--accent2)}.challenge-grid,.rewards-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.challenge-card,.reward-card{min-height:170px;display:flex;flex-direction:column;justify-content:space-between}.challenge-card span,.reward-card span{font-size:38px}.game-card{padding:24px;border-radius:26px;border:1px solid var(--border);background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.05));box-shadow:var(--shadow);text-align:center}.game-emoji{font-size:80px}

@media(max-width:1200px){.hero{grid-template-columns:1fr}.status-card{display:none}.tile-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;overflow:auto}.tile.featured{grid-column:span 1}.music-layout{grid-template-columns:320px minmax(0,1fr)}.music-layout .music-panel:last-child{grid-column:1/-1;min-height:240px}.member-grid{grid-template-columns:1fr}}
@media(max-width:950px){.kiosk-body{overflow:auto}.no-nav-shell{min-height:100vh;height:auto;overflow:visible}.kiosk-screen{position:relative;min-height:100vh;overflow:visible}.home{min-height:100vh;height:auto;overflow:visible}.tile-grid,.music-layout,.member-grid,.feed-layout{grid-template-columns:1fr}.tile-grid{grid-template-rows:none}.price-screen{height:auto;min-height:100vh;overflow:visible;padding-top:66px}.price-main-grid,.bowling-price-grid{grid-template-columns:1fr;overflow:visible}.billiard-card-grid{grid-template-rows:none}.booking-frame{height:80vh}.brand-row{flex-direction:column;align-items:flex-start;gap:8px}.logo{width:170px;max-height:120px}.member-action-grid,.bcn-card-stats,.terminal-stats{grid-template-columns:1fr}}
@media(max-width:640px){.kiosk-screen{padding:12px}.screen-content{padding:64px 0 0}.tile-grid{grid-template-columns:1fr}.tile{min-height:112px}.clock{display:none}.hero h1{font-size:44px}.bcn-card-center{align-items:flex-start;flex-direction:column}.bcn-member-card,.member-scan-panel,.member-register-box{border-radius:22px;padding:18px}}



/* =========================================================
   ADMIN V2 FIXED CSS
========================================================= */
.admin-v2{width:min(1500px,calc(100% - 28px));margin:18px auto;padding:20px;border-radius:30px;border:1px solid var(--border);background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.05));box-shadow:0 24px 80px rgba(0,0,0,.38)}
.admin-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.admin-brand{display:flex;align-items:center;gap:18px;min-width:0}.admin-brand img{width:120px;max-height:90px;object-fit:contain;filter:drop-shadow(0 14px 26px rgba(0,0,0,.42))}.admin-brand h1{margin:4px 0;font-size:clamp(38px,4vw,70px);line-height:.9}.admin-brand p{margin:0;color:var(--muted)}
.admin-top-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.admin-top-actions a,.admin-top-actions button,.admin-v2 button{min-height:42px;padding:10px 14px;border-radius:14px;border:1px solid var(--border);background:rgba(255,255,255,.09);color:white;font-weight:900}.admin-primary{background:var(--accent)!important;color:#00111a!important;border-color:rgba(255,255,255,.28)!important}.admin-danger{background:var(--danger)!important;color:white!important;border-color:rgba(255,92,122,.45)!important}
.admin-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px;margin-bottom:18px}.admin-kpi{padding:16px;border-radius:22px;border:1px solid var(--border);background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.05));display:grid;grid-template-columns:52px 1fr;align-items:center;gap:12px;box-shadow:0 12px 38px rgba(0,0,0,.24)}.admin-kpi span{font-size:38px}.admin-kpi strong{display:block;color:var(--accent2);font-size:clamp(26px,2.4vw,42px);line-height:1}.admin-kpi small{display:block;color:var(--muted);font-weight:900;margin-top:4px}
.admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.admin-panel{min-width:0;padding:18px;border-radius:24px;border:1px solid var(--border);background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.05));box-shadow:0 16px 48px rgba(0,0,0,.26)}.admin-panel-large{grid-column:span 2}.admin-panel-wide{grid-column:1/-1}.admin-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.admin-panel h2{margin:4px 0 0;font-size:clamp(24px,2.2vw,38px);line-height:1}
.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-form-grid.single{grid-template-columns:80px minmax(0,1fr)}.admin-v2 label{display:block;color:var(--muted);font-weight:900}.admin-v2 input,.admin-v2 select,.admin-v2 textarea{width:100%;min-height:44px;margin-top:6px;padding:10px 12px;border-radius:13px;border:1px solid var(--border);background:rgba(0,0,0,.26);color:white;font:inherit}.admin-v2 textarea{min-height:340px;resize:vertical;font-family:monospace;line-height:1.35}
.admin-toggle-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.admin-check{display:flex!important;align-items:center;gap:8px;padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:rgba(0,0,0,.18)}.admin-check input{width:20px;height:20px;min-height:0;margin:0}.admin-status{min-height:22px;margin-top:10px;color:var(--accent2);font-weight:900}.admin-status.ok{color:var(--ok)}.admin-status.error{color:var(--danger)}
.admin-state-box{padding:16px;border-radius:18px;border:1px solid var(--border);background:rgba(0,0,0,.22);margin-bottom:12px}.admin-state-box.small{margin-top:10px}.admin-state-box strong{display:block;font-size:20px}.admin-state-box span{display:block;margin-top:4px;color:var(--muted);line-height:1.35}.ok-box{border-color:rgba(57,255,136,.42);background:rgba(57,255,136,.09)}.warn-box{border-color:rgba(255,212,59,.42);background:rgba(255,212,59,.09)}.error-box{border-color:rgba(255,92,122,.42);background:rgba(255,92,122,.09)}
.admin-button-row,.admin-reset-grid,.admin-song-actions,.admin-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-reset-grid{display:grid;grid-template-columns:1fr 1fr}.admin-list,.admin-mini-list{display:grid;gap:10px;max-height:520px;overflow:auto;padding-right:4px}.admin-empty{padding:14px;border-radius:16px;border:1px dashed var(--border);color:var(--muted);text-align:center}.admin-mini-row{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:10px;padding:10px;border-radius:16px;border:1px solid var(--border);background:rgba(0,0,0,.20)}.admin-mini-row b{font-size:28px;line-height:1}.admin-mini-row small{color:var(--muted)}
.admin-song-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border-radius:18px;border:1px solid var(--border);background:rgba(0,0,0,.22)}.admin-song-row[data-status="pending"]{border-color:rgba(255,212,59,.34)}.admin-song-row[data-status="approved"]{border-color:rgba(0,191,255,.34)}.admin-song-row[data-status="sent"]{border-color:rgba(57,255,136,.34)}.admin-song-cover{width:64px;height:64px;border-radius:14px;overflow:hidden;display:grid;place-items:center;background:rgba(255,255,255,.08);font-size:30px}.admin-song-cover img{width:100%;height:100%;object-fit:cover}.admin-song-info{min-width:0}.admin-song-info strong,.admin-song-info span,.admin-song-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-song-info span{color:var(--muted)}.admin-song-info small{margin-top:4px;color:var(--accent2)}
.admin-redemption-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border-radius:18px;border:1px solid rgba(255,212,59,.30);background:rgba(0,0,0,.22)}.admin-redemption-row strong,.admin-redemption-row span,.admin-redemption-row small{display:block}.admin-redemption-row small{color:var(--muted);margin-top:4px}.admin-search{max-width:320px}.admin-table{width:100%;overflow:auto;border-radius:18px;border:1px solid var(--border)}.admin-table-head,.admin-table-row{min-width:780px;display:grid;grid-template-columns:1.4fr 1fr .7fr 1fr .7fr .7fr;gap:10px;align-items:center;padding:12px 14px}.admin-table-head{position:sticky;top:0;z-index:1;background:rgba(0,0,0,.55);color:var(--accent);font-weight:1000;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.admin-table-row{border-top:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.18)}.admin-table-row:nth-child(odd){background:rgba(255,255,255,.04)}.admin-table-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-v2 code{color:var(--accent2)}
@media(max-width:1200px){.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-panel-large{grid-column:span 2}.admin-kpi-grid{grid-template-columns:repeat(2,1fr)}.admin-top{flex-direction:column}.admin-top-actions{justify-content:flex-start}}
@media(max-width:800px){.admin-v2{width:calc(100% - 18px);margin:9px auto;padding:14px;border-radius:22px}.admin-grid,.admin-kpi-grid{grid-template-columns:1fr}.admin-panel-large,.admin-panel-wide{grid-column:1}.admin-brand{align-items:flex-start;flex-direction:column;gap:8px}.admin-brand img{width:150px}.admin-form-grid,.admin-form-grid.single,.admin-reset-grid{grid-template-columns:1fr}.admin-panel-head{flex-direction:column}.admin-song-row{grid-template-columns:56px minmax(0,1fr)}.admin-song-actions{grid-column:1/-1}.admin-redemption-row{grid-template-columns:1fr}.admin-search{max-width:none}}
