:root { color-scheme: light; font-family: system-ui, sans-serif; color: #242424; background: #f4f5f7; }
* { box-sizing: border-box; }
body { margin: 0; }
main { width: min(100% - 2rem, 70rem); margin: 0 auto; padding: 2rem 0; }
header { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
h1 { margin: 0; }
.eyebrow { margin: 0 0 .25rem; color: #6a6570; font-size: .75rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.total { margin: 0; font-size: 1.1rem; }
.total strong { font-size: 2rem; }
.access-panel { padding: 1rem; border: 1px solid #dfe1e5; border-radius: .75rem; background: #fff; }
.access-panel label { display: block; margin-bottom: .5rem; font-weight: 700; }
.access-controls { display: flex; flex-wrap: wrap; gap: .5rem; }
input, button { min-height: 2.75rem; padding: .65rem .85rem; border-radius: .45rem; font: inherit; }
input { flex: 1 1 18rem; border: 1px solid #c9ccd2; }
button { border: 0; background: #342e46; color: #fff; font-weight: 700; cursor: pointer; }
.access-panel p, #admin-message { color: #6a6570; font-size: .85rem; }
.table-wrap { overflow-x: auto; margin-top: 1rem; border: 1px solid #dfe1e5; border-radius: .75rem; background: #fff; }
table { width: 100%; border-collapse: collapse; font-size: .9rem; }
th, td { padding: .8rem; border-bottom: 1px solid #eceef1; text-align: left; white-space: nowrap; }
th { background: #fafafa; }
tbody tr:last-child td { border-bottom: 0; }
