body { font-family: system-ui, sans-serif; margin: 0 auto; padding: 16px; max-width: 1200px; color: #222; }
header { display: flex; justify-content: space-between; align-items: center; }
h1 small { color: #777; font-weight: normal; }
.filter { display: flex; gap: 8px; margin: 12px 0; flex-wrap: wrap; }
.filter input[type=search] { flex: 1; min-width: 240px; }
input, select, button { padding: 6px 10px; font: inherit; }
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; padding: 6px 8px; border-bottom: 1px solid #ddd; }
th a { color: inherit; text-decoration: none; }
.pager { display: flex; gap: 12px; justify-content: center; align-items: center; margin: 16px 0; }
.pager a { padding: 4px 10px; border: 1px solid #ccc; border-radius: 4px; text-decoration: none; }
.login { max-width: 280px; margin: 20vh auto; display: flex; flex-direction: column; gap: 10px; }
.error { color: #b00020; margin: 0; }
