.campfire-shell{
  max-width:1200px;
  margin:0 auto;
  padding:24px;
}

.campfire-hero{
  background:linear-gradient(135deg,#b45309 0%,var(--orange) 52%,var(--yellow) 100%);
  color:white;
  text-align:center;
  padding:56px 28px;
  border-radius:30px;
  margin-bottom:28px;
  box-shadow:0 10px 40px rgba(180,83,9,.28);
}

.campfire-hero-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:18px;
}

.campfire-title{
  font-family:'Poppins',sans-serif;
  font-size:clamp(2rem, 5vw, 3.4rem);
  font-weight:800;
  line-height:1.1;
}

.campfire-subtitle{
  max-width:780px;
  color:rgba(255,255,255,.94);
  font-weight:700;
}

.campfire-actions,
.campfire-song-actions,
.campfire-editor-actions{
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
}

.campfire-panel{
  background:white;
  border-radius:24px;
  padding:24px;
  box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.campfire-panel-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:18px;
}

.campfire-panel-head h1,
.campfire-panel-head h2{
  font-family:'Poppins',sans-serif;
  font-size:1.35rem;
  line-height:1.2;
}

.campfire-panel-head p,
.campfire-status{
  color:#5b5f6b;
  font-weight:700;
}

.campfire-stats{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:16px;
  margin-bottom:24px;
}

.campfire-stat{
  background:white;
  border-radius:20px;
  padding:20px;
  box-shadow:0 8px 24px rgba(0,0,0,.08);
}

.campfire-stat span{
  display:block;
  color:#5b5f6b;
  font-weight:800;
  margin-bottom:8px;
}

.campfire-stat strong{
  display:block;
  font-family:'Poppins',sans-serif;
  font-size:1.7rem;
  line-height:1.2;
  word-break:break-word;
}

.campfire-toolbar{
  display:grid;
  grid-template-columns:minmax(0, 2fr) minmax(190px, 1fr);
  gap:12px;
  margin-bottom:16px;
}

.campfire-input,
.campfire-select,
.campfire-textarea{
  width:100%;
  min-height:46px;
  border:2px solid #ececec;
  border-radius:14px;
  padding:10px 14px;
  font:inherit;
  background:white;
}

.campfire-textarea{
  min-height:360px;
  resize:vertical;
  line-height:1.5;
}

.campfire-input:focus,
.campfire-select:focus,
.campfire-textarea:focus{
  outline:none;
  border-color:var(--orange);
  box-shadow:0 0 0 4px rgba(239,108,0,.12);
}

.campfire-song-list{
  display:grid;
  gap:14px;
}

.campfire-song-card{
  display:flex;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  align-items:flex-start;
  border:1px solid #ececec;
  border-radius:18px;
  padding:16px 18px;
  background:#fffdfa;
}

.campfire-song-card.is-spotlight{
  border-color:#06d6a0;
  box-shadow:0 0 0 4px rgba(6,214,160,.12);
}

.campfire-song-main{
  flex:1 1 420px;
  min-width:0;
}

.campfire-song-title-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:8px;
}

.campfire-song-title-row h2{
  font-family:'Poppins',sans-serif;
  font-size:1.1rem;
  line-height:1.25;
}

.campfire-song-meta{
  color:#5b5f6b;
  font-weight:700;
}

.campfire-song-source{
  display:block;
  margin-top:6px;
  color:#7b8495;
  font-weight:700;
}

.campfire-chip{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:4px 10px;
  border-radius:999px;
  background:#fff1e6;
  color:var(--orange);
  font-size:.82rem;
  font-weight:900;
}

.campfire-chip.live{
  background:#ebfffa;
  color:#0b8d6c;
}

.campfire-chip.warning{
  background:#fff7d6;
  color:#b45309;
}

.campfire-primary-button,
.campfire-secondary-button{
  min-height:42px;
  border-radius:12px;
  padding:9px 14px;
  border:0;
  font-weight:900;
  cursor:pointer;
}

.campfire-primary-button{
  background:var(--orange);
  color:white;
}

.campfire-primary-button:disabled{
  opacity:.62;
  cursor:not-allowed;
}

.campfire-secondary-button{
  background:#f4f4f4;
  color:var(--dark);
}

.campfire-empty{
  padding:28px;
  text-align:center;
  color:#6b7280;
  font-weight:800;
}

.campfire-dialog{
  width:min(920px, calc(100vw - 32px));
  max-height:calc(100vh - 32px);
  padding:0;
  border:0;
  border-radius:24px;
  box-shadow:0 24px 60px rgba(0,0,0,.24);
}

.campfire-dialog::backdrop{
  background:rgba(15,23,42,.42);
  backdrop-filter:blur(4px);
}

.campfire-editor{
  display:grid;
  gap:18px;
  padding:24px;
}

.campfire-editor-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
}

.campfire-editor-head h2{
  font-family:'Poppins',sans-serif;
  font-size:1.35rem;
}

.campfire-editor-head p{
  color:#5b5f6b;
  font-weight:700;
}

.campfire-editor-field{
  display:grid;
  gap:8px;
  font-weight:900;
}

.campfire-check{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:900;
}

.campfire-check input{
  width:20px;
  height:20px;
  accent-color:var(--orange);
}

.campfire-icon-button{
  width:38px;
  height:38px;
  border-radius:999px;
  border:0;
  background:#f3f4f6;
  color:#111827;
  font-size:1.35rem;
  font-weight:900;
  cursor:pointer;
}

.campfire-live-shell{
  width:min(1120px, calc(100% - 32px));
  margin:0 auto;
  padding:24px 0 40px;
}

.campfire-live-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:18px;
  flex-wrap:wrap;
  padding:28px 0;
}

.campfire-live-kicker{
  display:inline-flex;
  min-height:30px;
  align-items:center;
  padding:4px 12px;
  border-radius:999px;
  background:#fff1e6;
  color:var(--orange);
  font-weight:900;
}

.campfire-live-top h1{
  margin-top:8px;
  font-size:clamp(2.2rem, 6vw, 4.5rem);
  line-height:1.05;
}

.campfire-live-nav{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.campfire-live-nav a{
  display:inline-flex;
  min-height:42px;
  align-items:center;
  padding:8px 14px;
  border-radius:999px;
  background:white;
  color:var(--dark);
  text-decoration:none;
  font-weight:900;
  box-shadow:0 6px 18px rgba(0,0,0,.08);
}

.campfire-live-card{
  background:#fffdfa;
  border:1px solid #f1e4d7;
  border-radius:24px;
  padding:clamp(22px, 5vw, 48px);
  box-shadow:0 14px 40px rgba(0,0,0,.09);
}

.campfire-live-card-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:20px;
  color:#5b5f6b;
  font-weight:900;
}

.campfire-live-card h2{
  font-size:clamp(1.8rem, 5vw, 3.4rem);
  line-height:1.12;
  margin-bottom:24px;
}

.campfire-lyrics{
  display:grid;
  gap:18px;
  background:#fff7ef;
  border:1px solid #f2d8bd;
  border-radius:18px;
  padding:clamp(18px, 4vw, 34px);
}

.campfire-stanza{
  display:grid;
  gap:5px;
}

.campfire-line{
  min-height:1.35em;
  font-size:clamp(1.2rem, 2.8vw, 1.9rem);
  line-height:1.35;
  font-weight:700;
  color:#111827;
  white-space:pre-wrap;
  word-break:break-word;
}

.campfire-line.is-chorus{
  color:var(--orange);
  font-weight:900;
}

.campfire-live-updated{
  margin-top:16px;
  color:#5b5f6b;
  font-weight:900;
  text-align:right;
}

@media (max-width:720px){
  .campfire-shell{ padding:16px; }
  .campfire-admin-stats,
  .campfire-toolbar{ grid-template-columns:1fr; }
  .campfire-live-top{ align-items:flex-start; }
}
