.admin { background: #efe8d8; min-height: 100vh; }
.admin [hidden] { display: none !important; }
.admin__bar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 22px; background: #08251c; color: #fff;
}
.admin__bar .brand small { opacity: .7; }
.admin__main { width: min(820px, calc(100% - 32px)); margin: 32px auto 64px; }
.admin h1 { font-family: var(--ff-d); font-size: 2.2rem; margin-bottom: 8px; }
.admin h2 { font-family: var(--ff-d); font-size: 1.4rem; margin-bottom: 12px; }
.intro, .admin p { color: var(--mute); }
.card {
  background: #fffaf2; border-radius: 18px; padding: 24px;
  margin: 18px 0; box-shadow: 0 8px 24px rgba(26,22,18,.06);
}
.admin label { display: grid; gap: 6px; font-size: .85rem; font-weight: 600; margin: 10px 0; }
.admin input, .admin select, .admin textarea {
  background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px;
}
.hint { font-size: .82rem; font-weight: 400; color: var(--mute); margin: 0 0 12px; }
.linkadd {
  display: inline-flex; margin: 0 0 8px; padding: 0; background: none; border: 0;
  color: var(--forest); font-weight: 700; font-size: .92rem; cursor: pointer;
}
#youtubeList label + label { margin-top: 4px; }
.block-title { margin: 36px 0 8px; }
.post {
  display: grid; gap: 6px; padding: 16px 0; border-bottom: 1px solid var(--line);
}
.post b { font-family: var(--ff-d); font-size: 1.15rem; }
.post button { color: #9a2f1a; font-weight: 600; justify-self: start; }
.msg {
  background: #fffaf2; border-radius: 14px; padding: 16px; margin-top: 10px;
}
.msg small { color: var(--gold-2); display: block; margin-bottom: 6px; }
