:root {
  color-scheme: light;
  font: 16px/1.5 system-ui, sans-serif;
  color: #16253a;
  background: #f3f6fa;
}
* { box-sizing: border-box; }
body { margin: 0; }
header { background: #14283f; color: #fff; }
nav, main { max-width: 1100px; margin: auto; padding: 1rem; }
nav { display: flex; align-items: center; flex-wrap: wrap; gap: .8rem 1.25rem; }
nav a { color: inherit; text-decoration: none; }
nav a:hover { text-decoration: underline; }
nav .brand { font-weight: 750; margin-right: auto; }
h1 { font-size: 1.9rem; margin: .5rem 0 1rem; }
h2 { font-size: 1.25rem; margin: 0 0 .6rem; }
a { color: #14599a; }
.panel { background: #fff; border: 1px solid #dce4ee; border-radius: .75rem; padding: 1.15rem; margin-bottom: 1rem; }
.narrow { max-width: 620px; }
.columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 1rem; }
button, .button { display: inline-block; background: #14599a; color: white; padding: .55rem .85rem; border: 0; border-radius: .4rem; font: inherit; text-decoration: none; cursor: pointer; }
button.secondary { background: #e9eff6; color: #1b3753; }
label { display: block; font-weight: 600; }
input:not([type="checkbox"]), textarea, select { width: 100%; border: 1px solid #879ab0; border-radius: .35rem; padding: .5rem; font: inherit; color: inherit; background: white; }
.filters { display: flex; align-items: end; flex-wrap: wrap; gap: .75rem; margin-bottom: .8rem; }
.filters p, nav form { margin: 0; }
.filters > a { align-self: center; }
.bulk-actions { margin-bottom: .8rem; }
.scroll { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; text-align: left; }
th, td { padding: .65rem; border-bottom: 1px solid #dce4ee; vertical-align: top; }
th { background: #f3f6fa; }
.badge { display: inline-block; background: #e9eff6; border-radius: .45rem; padding: .12rem .45rem; font-size: .83rem; font-weight: 600; }
.badge.sent, .notice { background: #dff3e6; color: #185935; }
.badge.pending { background: #fff1cf; color: #684b09; }
.badge.failed, .error, .errorlist { background: #fce4e6; color: #8a2631; }
.notice, .error, .errorlist { padding: .6rem .85rem; border-radius: .4rem; }
.errorlist { padding-left: 1.9rem; }
.helptext { display: block; margin-top: .3rem; font-size: .88rem; }
.pagination { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: .75rem; }
details { margin-top: .6rem; }
summary { cursor: pointer; font-weight: 650; }
dt { font-weight: 700; }
dd { margin: 0 0 .55rem; }
pre { white-space: pre-wrap; background: #f3f6fa; padding: .75rem; border-radius: .45rem; }
pre, dd, .wrap { overflow-wrap: anywhere; }
.qr { display: block; max-width: 100%; height: auto; }
