:root{--bg:#0b0d12;--panel:#11151f;--text:#e8eaed;--muted:#9aa0a6;--brand:#040FD9;--brand2:#7b61ff;--ok:#10b981;--warn:#f59e0b;--neonBlue:#58a6ff;--neonPink:#ff4ecd;--neonPurple:#8b5cf6;--neonCyan:#22d3ee}
*{box-sizing:border-box}
html,body{height:100%}
body{font-family:'Inter',system-ui,Arial,sans-serif;margin:0;background:linear-gradient(180deg,#0b0d12 0%,#0e121a 100%);color:var(--text);line-height:1.6}
h1{font-size:clamp(22px,4.2vw,32px)}
h1,h2,h3{font-family:'Manrope','Inter',system-ui,Arial,sans-serif;letter-spacing:-.01em}
.container{max-width:1200px;margin:0 auto;padding:0 28px}
header{position:sticky;top:0;background:rgba(17,21,31,.85);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid #1f2633;z-index:1000}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{font-weight:700;letter-spacing:.2px}
.nav a{color:var(--text);text-decoration:none;margin:0 14px;cursor:pointer}
.hero{position:relative;padding:120px 0 80px;background:radial-gradient(1200px 400px at 20% 20%,rgba(91,141,239,.22),transparent)}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(800px 300px at 70% 0%,rgba(255,78,205,.15),transparent),radial-gradient(600px 260px at 10% 100%,rgba(136,90,246,.15),transparent);z-index:0}
.hero h1{font-size:clamp(36px,5vw,56px);font-weight:800;margin:0 0 18px;text-shadow:0 2px 12px rgba(91,141,239,.25)}
.hero p{color:var(--muted);max-width:760px;font-size:clamp(18px,2.4vw,20px)}
.cta{display:inline-block;background:linear-gradient(90deg,var(--brand),var(--brand2));color:#fff;padding:14px 22px;text-decoration:none;border-radius:14px;margin-top:18px;box-shadow:0 0 22px rgba(91,141,239,.35);transition:transform .2s ease,box-shadow .2s ease}
.cta:hover{transform:translateY(-1px);box-shadow:0 0 24px rgba(123,97,255,.45)}
.btn{display:inline-block;background:linear-gradient(90deg,var(--brand),var(--brand2));color:#fff;padding:12px 18px;border:0;border-radius:12px;cursor:pointer;text-decoration:none}
.btn:hover{filter:brightness(1.1)}
.btn:disabled{opacity:.6;cursor:not-allowed}
.btn-secondary{display:inline-flex;align-items:center;justify-content:center;background:rgba(26,32,48,.72);color:#fff;border:1px solid #2a3244;border-radius:14px;padding:12px 18px;backdrop-filter:saturate(160%) blur(4px);transition:transform .2s ease,box-shadow .2s ease}
.btn-secondary:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(32,40,56,.35)}
.btn-outline{background:transparent;color:#e8eaed;border:1.5px solid var(--neonCyan)}
.btn-outline:hover{background:rgba(34,211,238,.08)}
.btn-small{padding:8px 12px;border-radius:10px;font-size:14px}
.btn-fixed{min-width:220px;display:inline-flex;align-items:center;justify-content:center}
.btn-fixed-sm{min-width:128px;display:inline-flex;align-items:center;justify-content:center}
.event-card .content .btn-fixed,.event-card .content .btn-fixed-sm{align-self:center !important;margin:12px auto 0;width:max-content}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:42px}
.card{background:linear-gradient(var(--panel),var(--panel)) padding-box,linear-gradient(135deg,var(--neonBlue),var(--neonPink)) border-box;border:1px solid transparent;border-radius:20px;padding:26px;box-shadow:0 6px 24px rgba(0,0,0,.25)}
.card .event-meta{font-size:14px}
.card h3{margin:0 0 8px;font-size:18px}
.card p{margin:2px 0 0;color:var(--muted)}
main{padding:32px 0}
form{display:grid;gap:10px}
input,select,textarea{padding:10px;border:1px solid #2a3244;border-radius:10px;background:#0f131a;color:var(--text)}
button{padding:10px 14px;border:0;border-radius:10px;background:linear-gradient(90deg,var(--brand),var(--brand2));color:#fff}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px}
.event-card{display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:center;background:linear-gradient(var(--panel),var(--panel)) padding-box,linear-gradient(135deg,var(--neonPurple),var(--neonBlue)) border-box;border:1px solid transparent;border-radius:22px;padding:20px;box-shadow:0 12px 28px rgba(0,0,0,.28);min-height:140px}
.event-thumb{width:96px;height:96px;border-radius:16px;background:linear-gradient(135deg,var(--neonBlue),var(--neonPurple));box-shadow:0 6px 18px rgba(0,0,0,.25)}
.event-card .content{display:flex;flex-direction:column}
.pricing .event-card .content{gap:8px}
.pricing .event-card .content h4{font-size:20px;font-weight:800}
.pricing .event-card{padding:24px;border-radius:24px}
.admin-shell{display:grid;grid-template-columns:240px 1fr;gap:20px}
.sidebar{background:var(--panel);border:1px solid #202638;border-radius:16px;padding:14px;position:sticky;top:86px;align-self:start}
.sidebar a{display:block;padding:10px 12px;margin:4px 0;border-radius:10px;color:var(--text);text-decoration:none;border:1px solid #2a3244}
.sidebar a:hover{background:#1a2030}
.event-card h4{margin:0 0 6px}
.event-meta{color:var(--muted);font-size:15px}
.badge{display:inline-block;border:1px solid #2a3244;border-radius:999px;padding:2px 8px;margin-right:6px;font-size:12px}
.slot-list{display:grid;gap:10px;margin-top:10px}
.slot-item{display:flex;align-items:center;justify-content:space-between;background:var(--panel);border:1px solid #202638;border-radius:12px;padding:12px}
.slot-time{font-weight:600}
.slot-actions{display:flex;align-items:center;gap:12px}
.slot-status{color:var(--muted)}
footer{border-top:1px solid #1f2633;padding:24px 0;color:var(--muted)}

.icon{width:28px;height:28px;display:inline-block;margin-right:8px}
.icon svg{width:28px;height:28px}
.icon-blue svg{stroke:var(--neonBlue)}
.icon-pink svg{stroke:var(--neonPink)}
.icon-purple svg{stroke:var(--neonPurple)}
.divider{height:2px;margin:24px 0}
.wave{background:linear-gradient(90deg,var(--neonBlue),var(--neonPink),var(--neonPurple));border-radius:999px;box-shadow:0 0 12px rgba(255,78,205,.35)}
.hero .btn,.hero .cta{margin-bottom:12px}
.btn-block{display:block;width:100%;text-align:center}
.cta-footer{display:block;max-width:680px;margin:0 auto}

@media (max-width: 860px){
  .nav{height:64px}
  .container{padding:0 18px}
  .card{padding:18px;border-radius:16px}
  .features{grid-template-columns:1fr;gap:18px}
  .grid{grid-template-columns:1fr}
  .event-card{grid-template-columns:72px 1fr;min-height:auto}
  .event-thumb{width:72px;height:72px}
  .btn-fixed,.btn-fixed-sm{min-width:auto;width:100%}
}

/* Mobile (≤640px) */
@media (max-width: 640px){
  .nav{flex-wrap:wrap;height:auto;padding:12px 0}
  .nav a{margin:6px 8px;display:inline-block}
  form{grid-template-columns:1fr}
  .slot-item{flex-direction:column;align-items:flex-start;gap:8px}
  .btn,.btn-secondary{width:100%}
  .admin-shell{flex-direction:column}
  .sidebar{flex:0 0 auto;width:100%;position:static;top:auto}
  .admin-main{width:100%}
}

/* Tablet (641–1024px) */
@media (min-width: 641px) and (max-width: 1024px){
  .features{grid-template-columns:repeat(2,1fr)}
  .grid{grid-template-columns:repeat(2,1fr)}
}

/* Desktop (≥1025px) */
@media (min-width: 1025px){
  .features{grid-template-columns:repeat(3,1fr)}
}

a:focus-visible,button:focus-visible{outline:2px solid var(--neonPink);outline-offset:2px}
.fade-in{animation:fadeInUp .5s ease both}
@keyframes fadeInUp{from{opacity:0;transform:translate3d(0,6px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
.event-thumb-img{object-fit:cover;border-radius:16px;width:96px;height:96px;display:block}
@media (max-width: 860px){
  .event-thumb-img{width:72px;height:72px;border-radius:12px}
}
.progress-track{background:#1a2030;border:1px solid #2a3244;border-radius:12px;height:16px;overflow:hidden}
.progress-bar{height:100%;background:linear-gradient(90deg,var(--brand),var(--brand2));width:calc(var(--w,0) * 1%)}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}
.chip{display:inline-flex;align-items:center;gap:8px;background:rgba(123,97,255,.12);color:#fff;border:1.5px solid #7b61ff;border-radius:18px;padding:6px 12px;font-size:13px;box-shadow:0 6px 20px rgba(123,97,255,.15)}
.chip:hover{filter:brightness(1.05)}
.chip-close{margin-left:4px;background:transparent;border:none;color:#ffd79c;cursor:pointer;border-radius:999px;padding:0 4px}
.chip-close:hover{color:#ff9fe0}

.chip[data-genre="Рок"]{border-color:#ef4444;background:rgba(239,68,68,.12)}
.chip[data-genre="Поп"]{border-color:#f59e0b;background:rgba(245,158,11,.12)}
.chip[data-genre="Инди"]{border-color:#22d3ee;background:rgba(34,211,238,.12)}
.chip[data-genre="Рэп"],.chip[data-genre="Хип-Хоп"]{border-color:#06b6d4;background:rgba(6,182,212,.12)}
.chip[data-genre="Авторское"]{border-color:#8b5cf6;background:rgba(139,92,246,.12)}
.chip[data-genre="Шансон"]{border-color:#e11d48;background:rgba(225,29,72,.12)}
.chip[data-genre="Альтернатива"]{border-color:#22c55e;background:rgba(34,197,94,.12)}
.chip[data-genre="Металл"]{border-color:#64748b;background:rgba(100,116,139,.12)}
.chip[data-genre="Джаз"]{border-color:#14b8a6;background:rgba(20,184,166,.12)}
.chip[data-genre="Кантри"]{border-color:#f97316;background:rgba(249,115,22,.12)}
.chip[data-genre="RNB"]{border-color:#7c3aed;background:rgba(124,58,237,.12)}
.chip[data-genre="Электронная"]{border-color:#3b82f6;background:rgba(59,130,246,.12)}
.chip[data-genre="Классика"]{border-color:#10b981;background:rgba(16,185,129,.12)}
.chip[data-genre="Регги"]{border-color:#84cc16;background:rgba(132,204,22,.12)}
.hidden{display:none}
.visible{display:block}
.admin-shell{display:flex;gap:16px;align-items:flex-start}
.sidebar{flex:0 0 220px}
.admin-main{flex:1 1 auto;max-width:100%;overflow-x:hidden}
.admin-main .card{width:100%;box-sizing:border-box}
.admin-main form{max-width:100%}
.admin-main .grid{max-width:100%}
.admin-main .tablescroll{overflow-x:auto}
.btn-glow{position:relative;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(90deg,var(--brand),var(--brand2));color:#fff;padding:14px 22px;border:0;border-radius:14px;cursor:pointer;font-weight:700;letter-spacing:.2px;box-shadow:0 10px 24px rgba(123,97,255,.35);transition:transform .2s ease,box-shadow .2s ease}
.btn-glow:after{content:"";position:absolute;inset:-8px;border-radius:18px;background:radial-gradient(closest-side,rgba(123,97,255,.28),rgba(123,97,255,0));filter:blur(6px);z-index:-1}
.btn-glow:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(123,97,255,.45)}
main a:not(.btn),footer a{color:var(--neonBlue);text-decoration:underline;font-weight:600;text-shadow:0 0 8px rgba(88,166,255,.35)}
main a:not(.btn):hover,footer a:hover{color:#8ecaff}
.apps-actions{display:flex;gap:12px;margin:8px 0 16px 0}
.app-list{display:grid;grid-template-columns:1fr;gap:12px}
.app-card{padding:16px}
.app-top h4{font-size:clamp(16px,3.6vw,18px)}
.app-card{border:1px solid #2a3244;border-radius:14px;padding:14px;background:#0f1424}
.app-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.badge{display:inline-block;padding:6px 10px;border-radius:999px;font-size:.85rem;font-weight:600}
.badge-new{background:rgba(123,97,255,.18);color:#c7b8ff}
.badge-held{background:rgba(88,166,255,.18);color:#a8d4ff}
.badge-approved{background:rgba(46,204,113,.18);color:#9feabf}
.badge-declined{background:rgba(255,78,205,.18);color:#ff9fe0}
.badge-canceled{background:rgba(255,160,0,.18);color:#ffd79c}
.app-meta{color:#8aa2c0;margin-top:6px}
.app-actions{display:flex;gap:8px;margin-top:10px}
