:root{
  --bg:#050505;
  --card:#121212;
  --muted:#9f9f9f;
  --gold:#d4af37;
  --border:#2b2b2b;
  --danger:#ff5d5d;
  --success:#59d18c;
}
*{box-sizing:border-box}
body{
  margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:#fff;
}
a{color:var(--gold);text-decoration:none}
header{
  display:flex;justify-content:space-between;align-items:center;
  padding:18px 28px;border-bottom:1px solid var(--border);position:sticky;top:0;background:rgba(5,5,5,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:5;
}
.brand{display:flex;align-items:center;gap:14px}
.logo{
  width:156px;
  height:156px;
  border:2px solid var(--gold);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#000;
  flex-shrink:0;
  padding:6px;
  box-sizing:border-box;
}

.logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:50%;
  display:block;
}
nav a.active{
  color:var(--gold) !important;
  border-color:var(--gold) !important;
  background:rgba(212,175,55,0.15);
  box-shadow:0 0 10px rgba(212,175,55,0.35);
}
.brand h1{font-size:1rem;letter-spacing:.18em;margin:0}
nav{display:flex;gap:14px;flex-wrap:wrap}
nav a,.btn{
  border:1px solid var(--gold);padding:10px 14px;border-radius:999px;
  color:#fff;background:transparent;cursor:pointer;display:inline-block;
}
.btn.primary{background:var(--gold);color:#000;font-weight:700}
.btn.secondary{border-color:#555}
.btn.danger{border-color:var(--danger);color:#fff}
.hero{
  min-height:68vh;display:grid;place-items:center;text-align:center;padding:40px 20px;
  background:radial-gradient(circle at top, rgba(212,175,55,.14), transparent 30%);
}
.hero .center{
  max-width:900px;width:100%;
}
.tabs-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:18px;margin-top:42px;
}
.tile{
  background:linear-gradient(180deg,#171717,#0c0c0c);
  border:1px solid var(--border);padding:28px;border-radius:20px;
  min-height:130px;display:flex;align-items:center;justify-content:center;
  font-size:1.15rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
}
.container{max-width:1200px;margin:0 auto;padding:28px 20px}
.grid-2{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}
@media(max-width:900px){.grid-2{grid-template-columns:1fr}}
.card{
  background:var(--card);border:1px solid var(--border);border-radius:20px;padding:22px;
  box-shadow:0 10px 30px rgba(0,0,0,.24);
}
label{display:block;margin:14px 0 6px;font-size:.95rem;color:#ddd}
input,select,textarea{
  width:100%;padding:14px;background:#0d0d0d;color:#fff;border:1px solid #333;border-radius:12px;
}
textarea{min-height:120px;resize:vertical}
small, .muted{color:var(--muted)}
.list{display:grid;gap:16px}
.event-card,.partner-card,.roadbook-stop{
  border:1px solid #2e2e2e;border-radius:16px;padding:18px;background:#0d0d0d;
}
.poster{
  width:100%;height:200px;border-radius:12px;object-fit:cover;border:1px solid #333;background:#111;
}
.inline-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}
.kpi .card h3{margin:0 0 8px}
.footer{padding:30px 20px;border-top:1px solid var(--border);color:#aaa}
.badge{display:inline-block;padding:6px 10px;border-radius:999px;background:#1b1b1b;border:1px solid #333;font-size:.85rem}
.notice{padding:12px 14px;border-radius:12px;border:1px solid #333;background:#101010}
.success{border-color:rgba(89,209,140,.35);background:rgba(89,209,140,.08)}
.warning{border-color:rgba(212,175,55,.35);background:rgba(212,175,55,.08)}
.error{border-color:rgba(255,93,93,.35);background:rgba(255,93,93,.08)}
.notice-top-margin{margin-top:14px}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:12px;border-bottom:1px solid #272727;text-align:left;font-size:.95rem;vertical-align:top}
.hero-tagline{font-size:1.2rem;color:#ddd;max-width:750px;margin:12px auto 0}
.auth-links{display:flex;gap:12px;align-items:center}
#soundToggle{
  background:transparent;border:none;color:var(--muted);
  width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:1.1rem;
  display:flex;align-items:center;justify-content:center;transition:all 0.3s ease;
  padding:0;
}
#soundToggle:hover{
  color:var(--gold);
  background:rgba(212,175,55,0.08);
}
#soundToggle.muted{opacity:0.4}
#soundToggle.muted:hover{
  color:var(--muted);
}
#backgroundMusic{display:none}
.hide{display:none !important}
.cookie-banner{
 position:fixed;left:20px;right:20px;bottom:20px;padding:18px;border:1px solid #333;
 background:#0b0b0b;border-radius:18px;display:flex;gap:14px;align-items:center;justify-content:space-between;z-index:100;
}
.summary-box{white-space:pre-wrap;line-height:1.5}
.card-center{text-align:center}
.qr-canvas{margin:14px auto;display:block;background:#fff;padding:10px;border-radius:12px}
.install-hint{font-size:.85rem;margin-top:10px}
