.topnav { border-bottom: 1px solid var(--pico-muted-border-color); margin-bottom: 1rem; }
.brand { text-decoration: none; }

.flash { padding: 0.6rem 1rem; margin-bottom: 1rem; border-left: 4px solid var(--pico-primary); }
.flash-success { border-left-color: #2e7d32; }
.flash-error { border-left-color: #c62828; }

.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: 1rem; }
.cards article { margin: 0; text-align: center; }
.cards .stat { font-size: 1.8rem; font-weight: 700; display: block; }
.cards .label { color: var(--pico-muted-color); font-size: 0.85rem; }

.tabs { display: flex; flex-wrap: wrap; gap: 0.25rem; margin-bottom: 1.25rem;
        border-bottom: 1px solid var(--pico-muted-border-color); }
.tabs a { padding: 0.4rem 0.9rem; text-decoration: none; border-radius: 6px 6px 0 0; }
.tabs a.active { background: var(--pico-primary); color: var(--pico-primary-inverse); }

table.compact td, table.compact th { padding: 0.35rem 0.5rem; font-size: 0.9rem; }
table .num { text-align: right; }
button.slim, input.slim, select.slim { padding: 0.2rem 0.6rem; margin: 0; width: auto; font-size: 0.85rem; }
form.inline { display: inline; margin: 0; }
.muted { color: var(--pico-muted-color); }

.chart { display: flex; align-items: flex-end; gap: 0.35rem; height: 9rem; }
.chart-month { flex: 1; display: flex; flex-direction: column; height: 100%; min-width: 0; }
.chart-bars { flex: 1; display: flex; align-items: flex-end; gap: 2px; }
.bar { flex: 1; border-radius: 2px 2px 0 0; min-height: 1px; }
.bar-issued { background: #94a3b8; }
.bar-collected { background: #2e7d32; }
.chart-label { font-size: 0.65rem; text-align: center; color: var(--pico-muted-color); }
.legend { display: inline-block; width: 0.8rem; height: 0.8rem; border-radius: 2px; vertical-align: middle; }
.legend-issued { background: #94a3b8; }
.legend-collected { background: #2e7d32; }
.auth-card { max-width: 26rem; margin: 4rem auto; }
td form.rowform { margin: 0; }
.rowgrid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr 0.7fr auto auto; gap: 0.4rem; align-items: center; }
