:root { --ink: #1d2433; --muted: #5b6475; --rule: #d9dde5; --accent: #0b6e4f; font-family: system-ui, sans-serif; color: var(--ink); }
body { margin: 0; }
header { display: flex; gap: 1rem; align-items: baseline; padding: 1rem 2rem; border-bottom: 1px solid var(--rule); }
header nav { display: flex; gap: 1rem; margin-left: auto; }
header .who { color: var(--muted); }
header .brand { font-weight: 700; color: var(--ink); text-decoration: none; }
main { max-width: 64rem; margin: 2rem auto; padding: 0 2rem; }
a { color: var(--accent); }
input { font: inherit; padding: 0.4rem 0.5rem; border: 1px solid var(--rule); border-radius: 4px; }
button { font: inherit; padding: 0.4rem 1rem; background: var(--accent); color: white; border: 0; border-radius: 4px; }
.htmx-indicator { opacity: 0; color: var(--muted); }
.htmx-request .htmx-indicator, .htmx-request.htmx-indicator { opacity: 1; transition: opacity 200ms ease-in 200ms; }
.refusal { color: #8a1c1c; }
.empty { color: var(--muted); }
form.search { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
form.search input { flex: 1 1 16rem; }
select { font: inherit; padding: 0.4rem 0.5rem; border: 1px solid var(--rule); border-radius: 4px; background: white; }
.count { color: var(--muted); font-size: 0.9rem; }
table.sheets { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
table.sheets th { text-align: left; color: var(--muted); font-weight: 600; border-bottom: 2px solid var(--rule); padding: 0.5rem; }
table.sheets td { border-bottom: 1px solid var(--rule); padding: 0.5rem; vertical-align: top; }
table.sheets td:nth-child(5) { white-space: nowrap; font-variant-numeric: tabular-nums; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
