:root { --fg:#1d2433; --muted:#667085; --bg:#f7f8fa; --card:#fff; --accent:#0b6e4f; --danger:#b42318; --line:#e4e7ec; }
* { box-sizing: border-box; }
body { margin:0; font: 16px/1.6 system-ui, -apple-system, "Segoe UI", sans-serif; color:var(--fg); background:var(--bg); }
a { color: var(--accent); }
.topbar { display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; padding:.75rem 1rem; background:var(--card); border-bottom:1px solid var(--line); }
.brand { font-weight:700; text-decoration:none; color:var(--fg); }
.topbar nav { display:flex; gap:1rem; align-items:center; flex-wrap:wrap; }
.container { max-width: 760px; margin: 2rem auto; padding: 0 16px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:1rem 1.25rem; margin-bottom:1rem; }
.card h2 { margin:0 0 .25rem; font-size:1.25rem; }
.meta { color:var(--muted); font-size:.9rem; }
.badge { display:inline-block; margin-left:.4rem; padding:0 .45rem; border-radius:99px; background:#e7f4ee; color:var(--accent); font-size:.75rem; }
.taxonomy { display:flex; flex-wrap:wrap; gap:.4rem; margin:.5rem 0 0; font-size:.85rem; }
.taxonomy a { text-decoration:none; padding:.05rem .55rem; border-radius:99px; }
.taxonomy .category { background:var(--accent); color:#fff; }
.taxonomy .tag { background:#eef0f4; color:#344054; }
.category-nav { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.25rem; }
.category-nav a { text-decoration:none; padding:.3rem .8rem; border:1px solid var(--line); border-radius:99px; background:var(--card); color:var(--fg); }
.category-nav a.active { background:var(--accent); border-color:var(--accent); color:#fff; }
.filter-info { color:var(--muted); }
.tag-choices { list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:.25rem 1rem; }
.tag-choices label { font-weight:normal; }
.summary { font-size:1.1rem; color:#344054; }
.media { margin:1.25rem 0; }
.media video, .media audio { width:100%; }
.body img { max-width:100%; height:auto; }
.btn { display:inline-block; padding:.45rem .9rem; border:1px solid var(--line); border-radius:8px; background:var(--card); color:var(--fg); text-decoration:none; cursor:pointer; font:inherit; }
.btn.primary { background:var(--accent); border-color:var(--accent); color:#fff; }
.btn.danger { background:var(--danger); border-color:var(--danger); color:#fff; }
button.link { background:none; border:0; color:var(--accent); cursor:pointer; font:inherit; padding:0; }
button.link.danger { color:var(--danger); }
form.inline { display:inline; }
.actions { display:flex; gap:.5rem; flex-wrap:wrap; margin-top:2rem; align-items:flex-start; }
.form input:not([type=checkbox]):not([type=file]), .form textarea, .form select, .search input, textarea { width:100%; padding:.5rem; border:1px solid var(--line); border-radius:8px; font:inherit; }
.html-editor { font-family: ui-monospace, monospace; font-size:.9rem; }
.search { margin-bottom:1.5rem; }
.messages { list-style:none; padding:0; }
.messages li { padding:.6rem .9rem; border-radius:8px; background:#e7f4ee; margin-bottom:.5rem; }
.messages li.error { background:#fde8e7; }
.status { display:inline-block; padding:.1rem .6rem; border-radius:99px; background:#eef0f4; font-size:.85rem; }
.status-approved { background:#e7f4ee; } .status-rejected { background:#fde8e7; } .status-submitted { background:#fff4d6; }
.table { width:100%; border-collapse:collapse; background:var(--card); }
.table th, .table td { text-align:left; padding:.5rem; border-bottom:1px solid var(--line); }
.pager { display:flex; justify-content:space-between; margin-top:1rem; }
