:root { color-scheme: light; --ink:#17211b; --muted:#667069; --paper:#fff; --bg:#f3f5f2; --line:#dfe5df; --green:#174f36; --green-soft:#e5f1ea; --red:#9d2c2c; --amber:#875d12; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font:15px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color:var(--green); }
.topbar { min-height:64px; display:flex; align-items:center; gap:32px; padding:0 4vw; background:#10251b; color:white; }
.topbar a,.link-button { color:white; text-decoration:none; }
.brand { font-weight:700; font-size:18px; margin-right:auto; }
nav { display:flex; gap:20px; }
.logout-form { margin:0; }.link-button { background:none; border:0; padding:0; font:inherit; cursor:pointer; }
.container { width:min(1180px,92vw); margin:36px auto 72px; }
.page-heading,.section-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
h1,h2 { line-height:1.2; margin:0 0 10px; } h1 { font-size:30px; } h2 { font-size:20px; }
.page-heading p,.muted { color:var(--muted); margin:0; }
.card { background:var(--paper); border:1px solid var(--line); border-radius:10px; padding:24px; margin-bottom:22px; box-shadow:0 2px 8px rgba(20,45,30,.04); }
.metric-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:22px; }
.metric { display:flex; flex-direction:column; gap:5px; }.metric span,.metric small { color:var(--muted); }.metric strong { font-size:25px; }
button,.button { display:inline-block; border:0; border-radius:6px; background:var(--green); color:white; padding:10px 16px; font:inherit; font-weight:600; text-decoration:none; cursor:pointer; }
button.danger { background:var(--red); }
.table-wrap { overflow-x:auto; padding:0; } table { width:100%; border-collapse:collapse; } th,td { padding:13px 16px; text-align:left; border-bottom:1px solid var(--line); } th { color:var(--muted); font-size:13px; } tr:last-child td { border-bottom:0; }.number { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.status { display:inline-block; border-radius:999px; padding:3px 9px; margin-right:5px; background:#edf0ed; font-size:12px; }.status-posted { background:var(--green-soft); color:var(--green); }.status-approved,.status-reviewed { background:#edf0f7; }.status-draft { color:var(--muted); }
.message { padding:13px 16px; border-radius:7px; margin-bottom:18px; background:#e8eff8; }.message.success { background:var(--green-soft); }.message.error { background:#faeaea; color:var(--red); }.message.warning { background:#fff2d5; color:var(--amber); }
label { display:block; font-weight:600; margin-bottom:6px; } input,select,textarea { width:100%; border:1px solid #bfc8c0; border-radius:5px; padding:9px 10px; background:white; font:inherit; } .form-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:26px; }
.errorlist { color:var(--red); margin:5px 0; }.actions { display:flex; gap:10px; flex-wrap:wrap; }.actions form { margin:0; }.details { display:grid; grid-template-columns:160px 1fr; gap:8px 18px; }.details dt { color:var(--muted); }.details dd { margin:0; }.timeline { padding-left:20px; }.timeline li { margin:8px 0; }.login-card { max-width:430px; margin:70px auto; }.login-card input { margin-bottom:16px; }.empty { text-align:center; color:var(--muted); } details summary { cursor:pointer; font-weight:700; }
@media (max-width:850px) { .metric-grid { grid-template-columns:1fr 1fr; }.form-grid { grid-template-columns:1fr; }.topbar { flex-wrap:wrap; padding-block:14px; } nav { order:3; width:100%; overflow-x:auto; }.container { margin-top:24px; } }
@media (max-width:520px) { .metric-grid { grid-template-columns:1fr; }.page-heading { align-items:flex-start; flex-direction:column; }.details { grid-template-columns:1fr; }.details dd { margin-bottom:8px; } }
