
/* Merged Smurfettes feature styling for Almost Heaven */
.main-container.admin-v2-shell{max-width:1100px}
.admin-v2-shell .content-card,
.content-area .content-card{
  background: rgba(0,0,0,0.70);
  border: 1px solid rgba(255,215,0,0.35);
  border-radius: 14px;
  box-shadow: 0 0 16px rgba(0,0,0,0.28);
}
.content-area{
  max-width: 1100px;
  margin: 0 auto;
  padding: 24px 20px 40px;
}
.content-wrapper{
  max-width: 980px;
  margin: 0 auto;
}
.content-wrapper.content-wrapper-wide{max-width: 1180px;}
.smurf-divider{
  height: 18px;
  margin: 20px 0;
  border-top: 2px solid rgba(255,215,0,0.55);
  border-bottom: 2px solid rgba(46,139,87,0.75);
  opacity: .85;
}
.center-text{text-align:center}
.page-title,.content-card h1,.content-card h2,.content-card h3{color:#FFD700}
.page-summary{color:#eee;margin:0 0 1rem}
.request-wrapper,.form{max-width:760px;margin:0 auto}
.request-box{
  background: rgba(255,255,255,0.05);
  border:1px solid rgba(255,215,0,0.25);
  border-radius:12px;
  padding:16px;
  margin: 0 0 16px;
}
.request-field{margin-bottom:14px;text-align:left}
.request-field label{display:block;margin-bottom:6px;color:#FFD700;font-weight:700}
.request-input,.request-textarea,.input-field, .admin-v2-shell input, .admin-v2-shell textarea, .admin-v2-shell select{
  width:100%;
  padding:12px 14px;
  border-radius:10px;
  border:1px solid rgba(255,215,0,0.25);
  background: rgba(0,0,0,0.35);
  color:#fff;
}
.request-input::placeholder,.request-textarea::placeholder,.input-field::placeholder{color:#d0d0d0}
.btn-accent,.request-button,.admin-btn,.button,.play-btn,.friend-btn{
  display:inline-block;
  background:#FFD700;
  color:#1a1a1a;
  padding:10px 18px;
  border:none;
  border-radius:999px;
  font-weight:700;
  text-decoration:none;
  cursor:pointer;
}
.btn-accent:hover,.request-button:hover,.admin-btn:hover,.button:hover,.play-btn:hover,.friend-btn:hover{background:#87CEEB;color:#111}
.friends-grid,.dj-grid,.admin-grid-v2{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:20px;
}
.friend-card,.dj-card{height:100%}
.friend-top{display:flex;gap:16px;align-items:flex-start}
.friend-image img,.dj-image img{
  width:120px;height:120px;object-fit:cover;border-radius:14px;border:2px solid rgba(255,215,0,0.45);
}
.friend-image-fallback{
  width:120px;height:120px;display:flex;align-items:center;justify-content:center;font-size:40px;
  border-radius:14px;background:rgba(255,255,255,0.08);border:2px solid rgba(255,215,0,0.35);
}
.friend-meta,.dj-card{text-align:left}
.top-fan-badge,.badge-live{
  display:inline-block;background:#2E8B57;color:#fff;padding:4px 10px;border-radius:999px;font-size:.8rem;margin-bottom:8px
}
.schedule-grid--vertical{display:grid;grid-template-columns:1fr;gap:20px}
.schedule-day-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.schedule-split{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.slot-row{display:grid;grid-template-columns:120px 1fr;gap:10px;align-items:start;margin-bottom:10px}
.slot-pill{background:rgba(255,255,255,0.05);padding:10px 12px;border-radius:12px}
.current-hour .slot-pill{outline:2px solid #FFD700}
.chat-shell{max-width:920px;margin:0 auto}
.chat-box{
  min-height:320px;max-height:420px;overflow:auto;padding:14px;border-radius:12px;
  background:rgba(0,0,0,0.35);border:1px solid rgba(255,215,0,0.25);margin-bottom:14px
}
.chat-msg{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,0.05);margin-bottom:10px}
.chat-msg.admin{background:rgba(46,139,87,0.25)}
.chat-msg .meta{display:flex;justify-content:space-between;gap:10px;font-size:.85rem;color:#ddd;margin-bottom:4px}
.chat-form-row{display:grid;grid-template-columns:180px 1fr auto;gap:10px;align-items:center}
.chat-hint{opacity:.8;margin-top:10px}
.emoji-panel{
  display:none;background:rgba(0,0,0,0.92);border:1px solid rgba(255,215,0,0.25);padding:12px;border-radius:12px;margin-top:10px
}
.emoji-panel.open{display:block}
.emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:8px;margin-top:10px}
.emoji-pick{font-size:22px;border:none;border-radius:10px;background:rgba(255,255,255,0.08);padding:6px;cursor:pointer}
.emoji-search-row{display:grid;grid-template-columns:1fr auto;gap:10px}
.hero-image img{width:100%;max-height:320px;object-fit:cover;border-radius:14px;margin-bottom:16px}
.rich-content{line-height:1.7}
.page-cta{margin-top:18px}
.msg,.ok,.success{
  background:rgba(46,139,87,.22);border:1px solid rgba(46,139,87,.7);padding:10px 14px;border-radius:10px;margin:12px 0;color:#fff
}
.admin-topbar{display:flex;gap:10px;margin:0 0 16px}
.admin-return{
  display:inline-block;padding:8px 12px;border-radius:999px;background:#2E8B57;color:#fff;text-decoration:none;font-weight:700
}
.admin-wrap{display:grid;gap:18px}
.admin-grid-v2 .admin-card-link{
  display:flex;flex-direction:column;justify-content:space-between;gap:12px;
  background:rgba(0,0,0,0.55);border:1px solid rgba(255,215,0,0.25);padding:18px;border-radius:14px;color:#fff;text-decoration:none
}
.admin-card-link .card-emoji{font-size:2rem}
.admin-card-link .card-title{font-size:1.1rem;font-weight:700;color:#FFD700}
.admin-card-link .card-foot{opacity:.8}
.admin-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}
.admin-stat-card,.admin-card-panel{
  background:rgba(0,0,0,0.6);border:1px solid rgba(255,215,0,.25);padding:18px;border-radius:14px;margin-bottom:18px
}
.admin-stat-value{font-size:2rem;font-weight:800;color:#FFD700}
.admin-table{width:100%;border-collapse:collapse}
.admin-table th,.admin-table td{border-bottom:1px solid rgba(255,255,255,0.12);padding:10px;text-align:left}
.page-wireframe-empty{padding:24px;border-radius:12px;background:rgba(255,255,255,0.04)}
@media (max-width: 768px){
  .chat-form-row,.schedule-split,.friend-top,.slot-row,.emoji-search-row{grid-template-columns:1fr}
  .friend-image img,.friend-image-fallback,.dj-image img{width:100%;height:auto;max-width:220px}
}
