:root { --brand:#0b5ed7; --text:#1f2937; --muted:#6b7280; --bg:#f8fafc; }
* { box-sizing:border-box; }
body { margin:0; font-family:system-ui,sans-serif; color:var(--text); background:var(--bg); line-height:1.5; }
a { color:var(--brand); }
.container { max-width:1100px; margin:0 auto; padding:1rem; }
.site-header { display:flex; justify-content:space-between; align-items:center; padding:.75rem 1rem; background:#fff; border-bottom:1px solid #e5e7eb; }
.brand { font-weight:700; text-decoration:none; font-size:1.2rem; }
.site-footer { text-align:center; color:var(--muted); padding:2rem 1rem; }
.grid { display:grid; gap:1rem; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); }
.card { background:#fff; border:1px solid #e5e7eb; border-radius:10px; overflow:hidden; }
.card img { width:100%; height:180px; object-fit:cover; display:block; }
.card-body { padding:1rem; }
.tag { display:inline-block; background:#eef2ff; border-radius:999px; padding:.1rem .6rem; margin:0 .25rem .25rem 0; font-size:.8rem; }
.muted { color:var(--muted); }
.price { font-size:1.25rem; font-weight:700; }
.empty { color:var(--muted); padding:1rem; }
.filter { display:flex; gap:.5rem; margin-bottom:1rem; }
.filter input { flex:1; padding:.5rem; }
.pager { display:flex; gap:1rem; justify-content:center; margin:1.5rem 0; }
@media (max-width:600px) { .site-header { flex-direction:column; gap:.5rem; } }


.site-header nav { display:flex; gap:1rem; align-items:center; }
.inline { display:inline; }
.linklike { background:none; border:0; color:var(--brand); cursor:pointer; font:inherit; padding:0; }
.form-stack { display:grid; gap:.5rem; max-width:420px; }
.form-stack input { padding:.55rem; border:1px solid #cbd5e0; border-radius:6px; }
.form-stack button { padding:.65rem; border:0; border-radius:6px; background:var(--brand); color:#fff; cursor:pointer; }
.error, .errorlist { color:#c53030; font-size:.85rem; list-style:none; padding:0; margin:0; }
.messages { list-style:none; padding:0; }
.msg { padding:.6rem 1rem; border-radius:6px; background:#eef2ff; margin-bottom:.5rem; }
.msg.error { background:#fef2f2; }
.stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:.75rem; list-style:none; padding:0; }

