:root { --pico-font-size: 95%; }
main.container-fluid, header.container-fluid { max-width: 1400px; margin: 0 auto; }
nav ul li form.inline { margin: 0; }
nav ul li form.inline button { padding: .25rem .75rem; margin: 0; }
article.notice { padding: .75rem 1rem; margin-bottom: 1rem; }
article.notice.error { border-left: 4px solid #c62828; }
article.notice.ok { border-left: 4px solid #2e7d32; }
.badge { display: inline-block; padding: .1rem .5rem; border-radius: .5rem; font-size: .8em; background: #e0e0e0; color: #222; white-space: nowrap; }
.badge.new { background: #e3f2fd; } .badge.claimed { background: #fff3e0; } .badge.contacted { background: #ede7f6; }
.badge.meeting_booked { background: #e8f5e9; } .badge.won { background: #c8e6c9; } .badge.lost { background: #eeeeee; }
.badge.do_not_contact { background: #ffcdd2; } .badge.member { background: #fce4ec; } .badge.flag { background: #fff8e1; border: 1px solid #f9a825; }
.grid-3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; }
.kv { display: grid; grid-template-columns: max-content 1fr; gap: .2rem 1rem; margin: 0; }
.kv dt { font-weight: 600; } .kv dd { margin: 0; }
.actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.actions form { margin: 0; display: inline-flex; gap: .5rem; align-items: center; }
.actions button, .actions select { margin: 0; padding: .35rem .8rem; }
table.compact td, table.compact th { padding: .35rem .5rem; font-size: .9em; }
.activity li { margin-bottom: .4rem; } .activity small { color: #666; }
.muted { color: #666; } .htmx-request .spinner { display: inline-block; } .spinner { display: none; }
form.filters { display: flex; flex-wrap: wrap; gap: .5rem; align-items: end; } form.filters label { margin: 0; }
form.filters input, form.filters select { margin: 0; }
pre.copy { white-space: pre-wrap; }
