*, *::before, *::after { box-sizing: border-box; }
body.admin-body { margin: 0; font-family: system-ui, -apple-system, sans-serif; background: #f6f7f9; color: #1a1a1a; font-size: 15px; }
.admin-header { display: flex; align-items: center; gap: 2rem; padding: .9rem 2rem; background: #fff; border-bottom: 1px solid #e5e7eb; }
.admin-header .brand { font-weight: 700; text-decoration: none; color: inherit; }
.admin-header nav a { color: #555; text-decoration: none; }
.admin-main { max-width: 72rem; margin: 0 auto; padding: 2rem; }
h1 { font-size: 1.6rem; margin: 0 0 .25rem; }
h2 { font-size: 1.15rem; margin: 2rem 0 .75rem; }
.muted { color: #666; }
.small { font-size: .8rem; }
.page-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; flex-wrap: wrap; }
.actions { display: flex; gap: .5rem; align-items: center; }
.actions form { margin: 0; }
.btn { display: inline-block; font: inherit; padding: .5rem .9rem; border-radius: .5rem; border: 1px solid #d0d5dd; background: #fff; color: #1a1a1a; text-decoration: none; cursor: pointer; }
.btn-primary { background: #1a1a1a; color: #fff; border-color: #1a1a1a; }
.btn-small { padding: .25rem .6rem; font-size: .8rem; }
.btn-danger { color: #b42318; }
.stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); gap: .75rem; margin: 1.5rem 0; }
.stat { background: #fff; border: 1px solid #e5e7eb; border-radius: .75rem; padding: 1rem; }
.stat b { display: block; font-size: 1.6rem; }
.stat span { color: #666; font-size: .8rem; }
.table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid #e5e7eb; border-radius: .75rem; overflow: hidden; }
.table th, .table td { padding: .65rem .8rem; text-align: left; border-bottom: 1px solid #eef0f3; vertical-align: top; }
.table th { font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; color: #666; background: #fafafa; }
.table tr:last-child td { border-bottom: 0; }
.table td.note { max-width: 18rem; color: #444; }
.table form { margin: 0; }
.pill { display: inline-block; padding: .15rem .55rem; border-radius: 999px; font-size: .75rem; font-weight: 600; }
.pill-yes { background: #e7f5ea; color: #2f6b3a; }
.pill-no { background: #fee4e2; color: #b42318; }
.flash { padding: .75rem 1rem; border-radius: .5rem; margin-bottom: 1rem; }
.flash.notice { background: #e7f5ea; color: #2f6b3a; }
.flash.alert { background: #fee4e2; color: #b42318; }
code { background: #eef0f3; padding: .1rem .3rem; border-radius: .25rem; }
