:root{--bg:#05010b;--panel:#130721;--line:rgba(255,255,255,.15);--purple:#8d35ff;--cyan:#18e8ff;--pink:#ff37d6;--gold:#ffd166;--green:#39ff88;--red:#ff3b66;--text:#fff7ff;--muted:#cdb8df}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 25% -10%,rgba(141,53,255,.44),transparent 35%),radial-gradient(circle at 90% 15%,rgba(24,232,255,.22),transparent 28%),linear-gradient(180deg,#090013,#020106 72%);font-family:Arial,Helvetica,sans-serif;color:var(--text)}.app{max-width:460px;margin:0 auto;min-height:100vh;background:rgba(5,1,11,.7);border-left:1px solid var(--line);border-right:1px solid var(--line);padding-bottom:76px}header{position:sticky;top:0;z-index:10;background:rgba(5,1,11,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:15px}.brand{display:flex;justify-content:space-between;align-items:center}.logo{font-weight:900;text-transform:uppercase;letter-spacing:.08em;text-shadow:0 0 18px var(--purple)}.live{border-radius:99px;padding:7px 10px;background:linear-gradient(90deg,var(--green),var(--cyan));color:#130016;font-weight:900;font-size:12px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.stat{background:rgba(255,255,255,.07);border:1px solid var(--line);border-radius:14px;padding:10px}.stat span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:900}.stat strong{font-size:19px}.screen{display:none;padding:16px}.screen.active{display:block}h1{font-size:34px;line-height:.95;margin:0 0 12px;text-transform:uppercase;text-shadow:0 0 22px var(--purple)}h2{font-size:21px;margin:0 0 12px;text-transform:uppercase}p{color:var(--muted);line-height:1.45}.card{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));border:1px solid var(--line);border-radius:22px;padding:16px;margin-bottom:14px;box-shadow:0 0 26px rgba(141,53,255,.13)}button,input,select{width:100%;border-radius:14px;border:1px solid var(--line);background:#10051b;color:white;padding:12px;margin:6px 0;font-size:15px}button{border:0;font-weight:900;text-transform:uppercase;cursor:pointer;background:linear-gradient(90deg,#5d1cff,var(--pink));box-shadow:0 0 18px rgba(141,53,255,.35)}button.secondary{background:rgba(255,255,255,.08);border:1px solid var(--line);box-shadow:none}.tabs{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(460px,100%);display:grid;grid-template-columns:repeat(7,1fr);background:rgba(5,1,11,.92);backdrop-filter:blur(14px);border-top:1px solid var(--line)}.tab{font-size:11px;padding:10px 2px;color:var(--muted);background:transparent;box-shadow:none}.tab.active{color:white;text-shadow:0 0 12px var(--cyan)}.row{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:12px 0}.row:last-child{border-bottom:0}.badge{display:inline-block;border-radius:99px;padding:5px 9px;font-weight:900;font-size:11px;text-transform:uppercase;background:rgba(141,53,255,.2);color:#ead9ff}.gold{background:rgba(255,209,102,.18);color:var(--gold)}.green{background:rgba(57,255,136,.15);color:var(--green)}.red{background:rgba(255,59,102,.14);color:var(--red)}.toast{position:fixed;left:50%;bottom:82px;transform:translateX(-50%);width:min(428px,calc(100% - 28px));background:linear-gradient(90deg,var(--purple),var(--pink));border-radius:16px;padding:13px;font-weight:900;display:none}.small{font-size:12px;color:var(--muted)}.stars{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.star{font-size:20px;color:var(--gold);background:rgba(255,209,102,.1);border:1px solid rgba(255,209,102,.35)}


/* Rowdy Boost Page Fix v2 */
.boost-page h2{
  margin-top:22px;
}
.boost-balance-box{
  margin:18px 0;
  border:1px solid rgba(255,255,255,.16);
  border-radius:20px;
  padding:16px;
  background:linear-gradient(135deg,rgba(255,210,31,.14),rgba(139,44,255,.12));
}
.boost-balance-box span{
  display:block;
  color:var(--muted,#d7c4ef);
  font-size:12px;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.08em;
}
.boost-balance-box strong{
  display:block;
  margin-top:8px;
  font-size:34px;
  color:#fff;
  text-shadow:0 0 14px rgba(255,210,31,.35);
}
.clean-list{
  display:grid;
  gap:10px;
  margin:12px 0;
}
.clean-list div{
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  padding:13px;
  background:rgba(255,255,255,.045);
}
.clean-list strong{
  display:block;
  color:#fff;
  margin-bottom:5px;
}
.clean-list span{
  display:block;
  color:var(--muted,#d7c4ef);
  line-height:1.35;
}
.fine-print{
  margin-top:18px;
  font-size:13px;
  opacity:.88;
}


/* Rowdy Boost Spend Fix v3 */
.spend-grid{
  display:grid;
  gap:10px;
  margin:12px 0 22px;
}
.spend-card{
  width:100%;
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  padding:13px;
  background:linear-gradient(135deg,rgba(139,44,255,.18),rgba(255,255,255,.045));
  color:#fff;
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.spend-card strong{
  display:block;
  font-size:16px;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.spend-card span{
  display:block;
  color:var(--muted,#d7c4ef);
  margin:5px 0 8px;
  line-height:1.32;
}
.spend-card b{
  display:inline-flex;
  border-radius:999px;
  padding:5px 9px;
  background:rgba(255,210,31,.18);
  color:#ffd21f;
  font-size:12px;
}
.spend-card:active{
  transform:translateY(1px);
}
.danger-spend{
  background:linear-gradient(135deg,rgba(255,23,68,.20),rgba(139,44,255,.12));
  border-color:rgba(255,23,68,.38);
}
.compact-list div{
  padding:10px;
}


/* Companion UI content cleanup v5 */
.app{
  padding-bottom:0!important;
}
.tabs{
  position:sticky!important;
  top:104px!important;
  left:auto!important;
  transform:none!important;
  width:100%!important;
  z-index:9!important;
  display:grid!important;
  grid-template-columns:repeat(7,1fr)!important;
  border-top:0!important;
  border-bottom:1px solid var(--line)!important;
}
.top-tabs{
  margin:0;
}
.tab{
  min-height:44px;
}
.screen{
  padding-top:14px!important;
}
.empty-state{
  margin:0;
  padding:14px;
  border:1px dashed rgba(255,255,255,.18);
  border-radius:16px;
  background:rgba(255,255,255,.035);
}
.vote-stars .star.selected{
  background:linear-gradient(90deg,#ffd21f,#ff8a00)!important;
  color:#150500!important;
  box-shadow:0 0 18px rgba(255,210,31,.35)!important;
}
.fair-vote-card .clean-list{
  margin-bottom:10px;
}
.spend-grid{
  display:grid;
  gap:10px;
  margin:12px 0 22px;
}
.spend-card{
  width:100%;
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  padding:13px;
  background:linear-gradient(135deg,rgba(139,44,255,.18),rgba(255,255,255,.045));
  color:#fff;
  text-align:left;
  font:inherit;
  cursor:pointer;
  box-shadow:none;
  text-transform:none;
}
.spend-card strong{
  display:block;
  font-size:16px;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.spend-card span{
  display:block;
  color:var(--muted,#d7c4ef);
  margin:5px 0 8px;
  line-height:1.32;
}
.spend-card b{
  display:inline-flex;
  border-radius:999px;
  padding:5px 9px;
  background:rgba(255,210,31,.18);
  color:#ffd21f;
  font-size:12px;
}
.danger-spend{
  background:linear-gradient(135deg,rgba(255,23,68,.20),rgba(139,44,255,.12));
  border-color:rgba(255,23,68,.38);
}
.clean-list{
  display:grid;
  gap:10px;
  margin:12px 0;
}
.clean-list div{
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  padding:13px;
  background:rgba(255,255,255,.045);
}
.clean-list strong{
  display:block;
  color:#fff;
  margin-bottom:5px;
}
.clean-list span{
  display:block;
  color:var(--muted,#d7c4ef);
  line-height:1.35;
}
.fine-print{
  margin-top:14px;
  font-size:13px;
  opacity:.9;
}
.boost-balance-box{
  margin:18px 0;
  border:1px solid rgba(255,255,255,.16);
  border-radius:20px;
  padding:16px;
  background:linear-gradient(135deg,rgba(255,210,31,.14),rgba(139,44,255,.12));
}
.boost-balance-box span{
  display:block;
  color:var(--muted,#d7c4ef);
  font-size:12px;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.08em;
}
.boost-balance-box strong{
  display:block;
  margin-top:8px;
  font-size:34px;
  color:#fff;
  text-shadow:0 0 14px rgba(255,210,31,.35);
}
@media(max-width:420px){
  .tab{font-size:10px!important;}
  .tabs{top:102px!important;}
}


/* Songbook Module v7 */
.tabs{
  grid-template-columns:repeat(8,minmax(62px,1fr))!important;
  overflow-x:auto!important;
}
.songbook-searchbar{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  align-items:center;
}
.songbook-searchbar button{
  width:auto;
  white-space:nowrap;
}
.row-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.song-card{
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  padding:13px;
  background:rgba(255,255,255,.045);
  margin:10px 0;
}
.song-card strong{
  display:block;
  font-size:17px;
}
.song-card span{
  display:block;
  color:var(--muted,#d7c4ef);
  margin:5px 0 10px;
  line-height:1.35;
}
.song-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
}
.song-actions button{
  margin:0;
}
@media(min-width:430px){
  .song-actions{grid-template-columns:1fr 1fr 1fr;}
}
