:root { --fg: #1c1c1c; --muted: #6b7280; --accent: #0f6b4f; --line: #e5e7eb; }
* { box-sizing: border-box; }
body { font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; color: var(--fg); margin: 0; background: #fafafa; }
.top { display: flex; align-items: center; gap: 1.5rem; padding: 0.9rem 1.25rem; background: #fff; border-bottom: 1px solid var(--line); }
.brand { font-weight: 700; color: var(--accent); text-decoration: none; font-size: 1.15rem; }
nav a { margin-right: 1rem; color: var(--fg); text-decoration: none; }
nav a:hover { text-decoration: underline; }
.wrap { max-width: 880px; margin: 1.5rem auto; padding: 0 1rem; }
h1 { font-size: 1.5rem; }
.muted { color: var(--muted); }
.error { color: #b91c1c; }
label { display: block; margin: 0.6rem 0; }
input { display: block; padding: 0.45rem; width: 320px; max-width: 100%; margin-top: 0.2rem; border: 1px solid var(--line); border-radius: 6px; }
button { padding: 0.5rem 1rem; background: var(--accent); color: #fff; border: 0; border-radius: 6px; cursor: pointer; }
table.catalog { border-collapse: collapse; width: 100%; }
table.catalog th, table.catalog td { text-align: left; padding: 0.5rem 0.6rem; border-bottom: 1px solid var(--line); }
ul.coupons { list-style: none; padding: 0; }
ul.coupons li { padding: 0.5rem 0; border-bottom: 1px solid var(--line); }
.code { font-family: ui-monospace, monospace; font-weight: 600; }
.comment { padding: 0.75rem; background: #fff; border: 1px solid var(--line); border-radius: 6px; }
code { font-family: ui-monospace, monospace; background: #f1f5f9; padding: 0.1rem 0.3rem; border-radius: 4px; }
