:root { font-family: system-ui, sans-serif; font-size: 15px; color: #1f2933; }
body { margin: 0; background: #f7f8fa; }
header { background: #1f2933; color: #fff; padding: 0 1.5rem; display: flex; gap: 1.5rem; align-items: center; height: 3rem; }
header a { color: #fff; text-decoration: none; }
header a.active { border-bottom: 2px solid #ffb400; }
main { max-width: 1400px; margin: 1.5rem auto; padding: 0 1.5rem; }
table { width: 100%; border-collapse: collapse; background: #fff; }
th, td { padding: .5rem .6rem; border-bottom: 1px solid #e4e7eb; text-align: left; vertical-align: top; }
th { background: #f0f2f5; font-weight: 600; }
tr.rejected td { color: #7b8794; }
.badge { display: inline-block; padding: .1rem .45rem; border-radius: .6rem; font-size: .8rem; background: #e4e7eb; }
.badge.ok { background: #d2f5dc; } .badge.bad { background: #ffd9d9; } .badge.warn { background: #fff0c2; }
form.filters { display: flex; gap: .75rem; flex-wrap: wrap; align-items: end; margin-bottom: 1rem; }
form.filters label { display: flex; flex-direction: column; font-size: .85rem; }
input, select, textarea, button { font: inherit; padding: .35rem .5rem; border: 1px solid #cbd2d9; border-radius: .3rem; }
button { background: #1f2933; color: #fff; cursor: pointer; }
button.secondary { background: #fff; color: #1f2933; }
.card { background: #fff; padding: 1rem 1.25rem; border: 1px solid #e4e7eb; border-radius: .4rem; margin-bottom: 1rem; }
.error { color: #b00020; }
.muted { color: #7b8794; }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 1rem; }
.field { display: flex; flex-direction: column; gap: .25rem; margin-bottom: .75rem; }
.pagination a { margin-right: .5rem; }
.tabs { display: flex; gap: 1rem; margin-bottom: 1rem; }
.tabs a.active { font-weight: 600; border-bottom: 2px solid #ffb400; }
tr.expired td { background: #ffecec; } tr.soon td { background: #fff7db; }
