:root { --saffron:#C26A00; --maroon:#8B0000; --gold:#FFD700; --cream:#FFF8EC; --ink:#2a1a10; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:'Cormorant Garamond', Georgia, serif; font-size:18px; }
header { background:var(--maroon); color:var(--cream); padding:1rem 1.5rem; font-family:Cinzel, serif; font-size:1.3rem;
         border-bottom:3px solid var(--gold); display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; }
header .right { display:flex; gap:1.25rem; align-items:center; flex-wrap:wrap; font-family:'Cormorant Garamond', Georgia, serif; font-size:1.1rem; }
header a { color:var(--cream); }
main { max-width:920px; margin:1.5rem auto; padding:0 1rem; display:grid; gap:1.5rem; }
.card { background:#fff; border:1px solid #e8d9b8; border-radius:10px; padding:1.25rem; }
.card.editing { border:2px solid var(--saffron); }
h2 { font-family:Cinzel, serif; color:var(--maroon); margin:0 0 .75rem; font-size:1.1rem; }
textarea, input[type=text], input[type=search], input[type=datetime-local], select {
  width:100%; padding:.6rem; border:1px solid #cdb98f; border-radius:6px; font:inherit; background:#fff; }
textarea { min-height:140px; }
textarea.short { min-height:70px; }
.platforms label { display:inline-flex; gap:.4rem; align-items:center; margin:.3rem 1rem .3rem 0; }
.off { opacity:.55; }
button { background:var(--saffron); color:#fff; border:0; padding:.6rem 1.2rem; border-radius:6px; font:inherit; font-weight:600; cursor:pointer; }
button.secondary { background:var(--maroon); padding:.3rem .8rem; font-size:.9rem; margin-top:.3rem; }
.btn-link { display:inline-block; background:#fff; color:var(--maroon); border:1px solid var(--maroon); padding:.25rem .7rem;
            border-radius:6px; font-size:.9rem; text-decoration:none; margin-top:.3rem; }
.btn-link:hover { background:#fbeee0; }
.row { display:flex; gap:.6rem; align-items:center; flex-wrap:wrap; }
.row > input[type=text], .row > input[type=search] { flex:1 1 220px; width:auto; }
.row > select { flex:0 1 180px; width:auto; }
.chips { display:flex; flex-wrap:wrap; gap:.5rem; }
.chip { display:inline-flex; align-items:center; border:1px solid #cdb98f; border-radius:999px; background:#fffaf2; }
.chip a { color:var(--ink); text-decoration:none; padding:.25rem .3rem .25rem .8rem; }
.chip button { background:none; color:#a0522d; padding:.25rem .6rem; font-size:1rem; }
.flash { padding:.6rem .9rem; border-radius:6px; margin-bottom:.5rem; }
.flash.error { background:#fbe3e3; color:var(--maroon); }
.flash.info { background:#fff1d6; }
.banner { background:#fff1d6; border:1px solid #f0d49a; border-radius:8px; padding:.6rem .9rem; }
.heading-row { display:flex; justify-content:space-between; align-items:baseline; gap:1rem; flex-wrap:wrap; }
.heading-row a { font-size:.95rem; color:var(--maroon); }
.preview { display:flex; gap:.6rem; align-items:center; margin:.25rem 0 .75rem; }
.preview img, .thumb { width:72px; height:72px; object-fit:cover; border-radius:6px; border:1px solid #e8d9b8; background:#f6efe2; }
.thumb { float:right; margin:0 0 .3rem .6rem; width:56px; height:56px; }
table { width:100%; border-collapse:collapse; font-size:.95rem; }
th, td { border-bottom:1px solid #eee; padding:.45rem; text-align:left; vertical-align:top; }
.status-published, .ok-text { color:#1e7b34; font-weight:600; }
.status-failed, .err-text { color:#c62828; font-weight:600; }
.status-partial, .warn-text { color:#d9822b; font-weight:600; }
.status-pending, .status-publishing { color:var(--saffron); }
small { color:#7a6248; }
.pi { vertical-align:-3px; flex:none; }
.pi-list { display:flex; flex-wrap:wrap; gap:.45rem; align-items:center; }
.result { display:flex; gap:.35rem; align-items:flex-start; margin-top:.25rem; }
.result .pi { margin-top:2px; }
form.inline { display:inline; }
.muted { color:#7a6248; }

/* Phones: stack the table into cards and make buttons easy to tap. */
@media (max-width:600px) {
  body { font-size:17px; }
  header { padding:.75rem 1rem; font-size:1rem; }
  header .right { font-size:.95rem; gap:.8rem; }
  main { margin:1rem auto; gap:1rem; }
  .card { padding:1rem; }
  .platforms label { margin-right:.7rem; }
  #compose > button[type=submit] { width:100%; padding:.8rem; }
  .row > select { flex:1 1 100%; }
  table, tbody, tr, td { display:block; width:100%; }
  tr:first-child { display:none; }
  tr { border-bottom:1px solid #e8d9b8; padding:.6rem 0; }
  td { border:0; padding:.15rem 0; }
  td[data-label]::before { content:attr(data-label) ": "; font-weight:600; color:var(--ink); }
  .btn-link, button.secondary { padding:.45rem .9rem; }
}
.badge { display:inline-block; background:#fff1d6; border:1px solid #f0d49a; border-radius:999px; padding:0 .5rem; font-size:.8rem; color:var(--maroon); margin-bottom:.2rem; }
input[type=password] { width:100%; padding:.6rem; border:1px solid #cdb98f; border-radius:6px; font:inherit; background:#fff; }
.row > input[type=password] { flex:1 1 200px; width:auto; }
.link-button { background:none; color:var(--cream); padding:0; font:inherit; font-weight:400; text-decoration:underline; }
details.own-wording { border:1px solid #e8d9b8; border-radius:8px; padding:.5rem .8rem; margin:.5rem 0 1rem; }
details.own-wording summary { cursor:pointer; color:var(--maroon); font-family:Cinzel, serif; }
details.own-wording label { display:flex; gap:.4rem; align-items:center; margin-bottom:.25rem; }
.narrow { max-width:420px; margin:2rem auto; }
