/* Admin UI. Internal tool, not the brand site: system fonts, no scroll reveals. */
:root{
  --canvas:#F4EADB; --card:#FFFFFF; --ink:#221708; --muted:#5A4B38;
  --terra:#CD6845; --rust:#96401E; --ochre:#C68A2E; --ok:#4C6318;
  --hairline:#CDB694; --rule:#B69A6E;
  --font:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
/* The hidden attribute must win even on elements whose class sets its own
   display (the conflict overlay uses display:flex), otherwise a same
   specificity author rule beats the UA stylesheet and it never hides. */
[hidden]{display:none!important}
body{margin:0; background:var(--canvas); color:var(--ink); font-family:var(--font); line-height:1.5; font-size:1rem}
.wrap{max-width:720px; margin-inline:auto; padding:1.25rem}
.wrap--wide{max-width:1100px}
h1,h2{font-family:var(--font); margin:0 0 .5rem; line-height:1.2}
h1{font-size:1.5rem} h2{font-size:1.1rem}
p{margin:0 0 .75rem}
a{color:var(--rust)}
label{display:block; font-weight:600; margin:.9rem 0 .25rem}
.hint{color:var(--muted); font-size:.85rem; margin:.15rem 0 0}
input[type=text],input[type=password],input[type=email],textarea,select{
  width:100%; font:inherit; padding:.6rem .7rem; min-height:44px;
  border:1px solid var(--hairline); border-radius:8px; background:var(--card); color:var(--ink);
}
textarea{min-height:120px; resize:vertical}
textarea#body{min-height:320px; font-family:ui-monospace,Menlo,Consolas,monospace; font-size:.92rem}
:focus-visible{outline:3px solid var(--ochre); outline-offset:2px}
button,.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.4rem;
  min-height:44px; padding:.5rem 1rem; font:inherit; font-weight:600; cursor:pointer;
  border-radius:8px; border:1px solid var(--rust); background:var(--terra); color:#fff;
}
button:disabled{opacity:.5; cursor:not-allowed}
button.secondary{background:var(--card); color:var(--ink); border-color:var(--hairline)}
button.link{background:none; border:none; color:var(--rust); text-decoration:underline; min-height:44px; padding:.2rem}
.row{display:flex; gap:.6rem; align-items:center; flex-wrap:wrap; margin:.75rem 0}
.hd{border-bottom:1px solid var(--hairline); background:var(--card)}
.hd .wrap{display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-block:.75rem}
.hd__brand{font-weight:800; text-decoration:none; color:var(--ink)}
.hd__user{display:flex; align-items:center; gap:.6rem; font-size:.9rem; color:var(--muted)}
.card{background:var(--card); border:1px solid var(--hairline); border-radius:10px; padding:1rem; margin-bottom:.75rem}
.list{list-style:none; margin:0; padding:0}
.list li{border:1px solid var(--hairline); border-radius:10px; background:var(--card); padding:.75rem 1rem; margin-bottom:.6rem; display:flex; align-items:center; justify-content:space-between; gap:.75rem; flex-wrap:wrap}
.list a{text-decoration:none; color:var(--ink); font-weight:600}
.badge{font-size:.75rem; font-weight:700; padding:.15rem .55rem; border-radius:999px; white-space:nowrap}
.badge--draft{background:#EFE1C6; color:var(--muted)}
.badge--review{background:#F1D6A9; color:var(--ochre)}
.badge--published{background:#DDE8C4; color:var(--ok)}
.error{color:var(--rust); font-weight:600}
.status{color:var(--ok); font-weight:600}
.guard{border-radius:10px; border:1px solid var(--hairline); background:var(--card); padding:.9rem}
.guard h2{font-size:.95rem}
.guard ul{margin:.25rem 0 .75rem; padding-left:1.2rem}
.guard .blocking{color:var(--rust)}
.guard .warning{color:var(--ochre)}
.editor-grid{display:grid; grid-template-columns:1fr; gap:1.25rem}
@media (min-width:960px){ .editor-grid{grid-template-columns:1.1fr 1fr; align-items:start} }
.toolbar{display:flex; gap:.4rem; margin-bottom:.4rem; flex-wrap:wrap}
.toolbar button{min-height:44px; padding:.1rem .7rem; font-weight:600}
.preview-frame{width:100%; height:480px; border:1px solid var(--hairline); border-radius:10px; background:#fff}
.related-list{border:1px solid var(--hairline); border-radius:10px; background:var(--card); padding:.6rem .8rem; max-height:220px; overflow:auto}
.related-list label{display:flex; align-items:center; gap:.5rem; font-weight:400; margin:.35rem 0}
.related-list input{width:auto; min-height:auto}
.conflict{position:fixed; inset:0; background:rgba(34,23,8,.55); display:flex; align-items:center; justify-content:center; padding:1rem; z-index:10}
.conflict__box{background:var(--card); border-radius:12px; padding:1.25rem; max-width:420px}
.comments li{background:var(--canvas); border-radius:8px; padding:.6rem .8rem; margin-bottom:.5rem; list-style:none}
.comments p{margin:.15rem 0}
.new-post{display:flex; gap:.5rem; align-items:flex-end; flex-wrap:wrap}
.new-post input{flex:1; min-width:200px}
