/* M0 admin styling. Deliberately minimal: this shell is replaced by the React admin at M3
   (M0 §3.7), so anything beyond legibility here is work thrown away twice. */
:root { --bg:#fbfbfa; --fg:#1a1a18; --muted:#6b6b66; --line:#e3e3df; --accent:#8a3a1e; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--fg);
       font:16px/1.55 ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
.admin-bar { display:flex; align-items:center; justify-content:space-between;
             padding:.75rem 1.25rem; border-bottom:1px solid var(--line); background:#fff; }
.brand { font-weight:650; letter-spacing:-0.01em; }
.signout { display:flex; align-items:center; gap:.75rem; margin:0; }
.who { color:var(--muted); font-size:.875rem; }
main { max-width:60rem; margin:0 auto; padding:2.5rem 1.25rem; }
h1 { font-size:1.5rem; letter-spacing:-0.02em; margin:0 0 .5rem; }
.lede { color:var(--muted); margin:0 0 2rem; }
.card { background:#fff; border:1px solid var(--line); border-radius:10px; padding:1.5rem; }
.card + .card { margin-top:1rem; }
form.auth { max-width:22rem; margin:3rem auto; }
label { display:block; font-size:.875rem; font-weight:550; margin:1rem 0 .35rem; }
input[type=email],input[type=password],input[type=text] {
  width:100%; padding:.6rem .7rem; border:1px solid var(--line); border-radius:7px;
  background:#fff; color:inherit; font:inherit; }
input:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
button { padding:.6rem 1.1rem; border:0; border-radius:7px; background:var(--accent);
         color:#fff; font:inherit; font-weight:550; cursor:pointer; }
button:hover { filter:brightness(1.08); }
.signout button { background:transparent; color:var(--muted); border:1px solid var(--line); }
.error { color:#a4232a; font-size:.9rem; margin-top:1rem; }
.empty { color:var(--muted); }
dl.meta { display:grid; grid-template-columns:auto 1fr; gap:.4rem 1.5rem; margin:0; font-size:.9rem; }
dl.meta dt { color:var(--muted); }
dl.meta dd { margin:0; }

/* Admin content screens (M1). Replaced wholesale by the React admin at M3. */
table { width:100%; border-collapse:collapse; font-size:.925rem; }
th,td { text-align:left; padding:.55rem .6rem; border-bottom:1px solid var(--line); }
th { font-weight:600; color:var(--muted); font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; }
tbody tr:last-child td { border-bottom:0; }
.badge { display:inline-block; padding:.1rem .5rem; border-radius:999px; font-size:.75rem;
         font-weight:600; background:var(--line); color:var(--muted); }
.badge.s-published { background:#e3f1e6; color:#1e6b32; }
.badge.s-draft { background:#f0efec; color:var(--muted); }
.badge.s-scheduled { background:#fdf0e0; color:#8a5a1e; }
.badge.s-archived { background:#eceaf2; color:#54468a; }
a { color:var(--accent); text-decoration-thickness:1px; text-underline-offset:2px; }
.btn { display:inline-block; padding:.55rem 1rem; border-radius:7px; background:var(--accent);
       color:#fff; font-weight:550; text-decoration:none; }
button.danger { background:transparent; color:#a4232a; border:1px solid #e8c9cb; margin-left:.5rem; }
textarea { width:100%; padding:.6rem .7rem; border:1px solid var(--line); border-radius:7px;
           font:inherit; font-size:.95rem; resize:vertical; }
small.empty { display:block; margin-top:.3rem; font-size:.8rem; }
.terms { display:flex; flex-wrap:wrap; gap:.4rem .9rem; }
label.chk { display:inline-flex; align-items:center; gap:.35rem; margin:0; font-weight:400; }
label.chk input { width:auto; }
.adminnav { display:flex; gap:1rem; margin-left:1.5rem; margin-right:auto; font-size:.9rem; }
