:root { --bg:#0f172a; --card:#fff; --ink:#0f172a; --muted:#64748b; --accent:#2563eb; --ok:#16a34a; }
* { box-sizing: border-box; }
body { margin:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; background:#f1f5f9; color:var(--ink); }
header { background:var(--bg); color:#fff; padding:16px 24px; display:flex; align-items:center; justify-content:space-between; }
header h1 { font-size:18px; margin:0; }
.badge { background:#1e293b; color:#cbd5e1; padding:4px 10px; border-radius:999px; font-size:12px; }
.badge.ok { background:#052e16; color:#86efac; }
.badge.warn { background:#451a03; color:#fdba74; }
main { max-width:1000px; margin:24px auto; padding:0 16px; display:grid; gap:20px; }
.card { background:var(--card); border-radius:14px; padding:20px 24px; box-shadow:0 1px 3px rgba(0,0,0,.08); }
h2 { font-size:15px; margin:0 0 8px; }
.muted { color:var(--muted); font-size:13px; margin:4px 0 12px; }
input[type=file] { display:block; margin:10px 0; }
button, .btn { display:inline-block; background:var(--accent); color:#fff; border:0; padding:10px 18px; border-radius:8px; font-size:14px; cursor:pointer; text-decoration:none; margin-right:8px; }
button:disabled, .btn:disabled { opacity:.5; cursor:default; }
.btn.ghost { background:#e2e8f0; color:#1e293b; }
.badge a { color:#86efac; }
.status { margin-top:12px; font-size:13px; color:var(--muted); white-space:pre-line; }
#project { font-size:14px; margin-bottom:12px; }
#project code { background:#f1f5f9; padding:2px 6px; border-radius:5px; }
.counts { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.chip { background:#eff6ff; color:#1e40af; border-radius:999px; padding:4px 12px; font-size:12px; }
.gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:12px; }
.tile { border:1px solid #e2e8f0; border-radius:10px; overflow:hidden; background:#fff; }
.tile img { width:100%; height:150px; object-fit:cover; display:block; background:#f8fafc; }
.tile .meta { padding:6px 8px; font-size:11px; }
.tile .cat { color:var(--accent); font-weight:600; }
.tile .conf { color:var(--muted); }
.tile a { font-size:11px; color:var(--accent); text-decoration:none; }
