/* Civicwright admin: builds on styles.css */
.admin { background: var(--paper); }
.admin-main { padding: 2rem 0 4rem; }
.admin h1 { font-size: var(--step-3); margin-bottom: 1.25rem; }
.admin h2 { font-size: var(--step-1); margin-bottom: 0.75rem; }
.admin-narrow { max-width: 30rem; }
.admin-small { font-size: 0.875rem; color: var(--ink-soft); }
.mono { font-family: var(--mono); letter-spacing: 0.02em; }
.code { font-family: var(--mono); font-size: 0.875rem; background: var(--chamber-deep); color: var(--on-green); padding: 0.75rem 1rem; border-radius: 8px; overflow-x: auto; white-space: pre-wrap; word-break: break-all; }
.header-form { margin-left: auto; }
.input-short { max-width: 12rem; }

.admin-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 1.5rem; }
@media (min-width: 48rem) { .admin-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.stat { padding: 1rem 1.25rem; background: var(--white); border: 1px solid var(--rule); border-radius: 12px; }
.stat p { margin: 0; color: var(--ink-soft); font-size: 0.9375rem; }
.stat .stat__n { color: var(--ink); font-size: 2.25rem; font-weight: 800; line-height: 1.1; }
.stat--attention { border: 2px solid var(--brass); }

.admin-section { margin-bottom: 1.5rem; padding: 1.5rem; background: var(--white); border: 1px solid var(--rule); border-radius: 12px; }
.admin-columns { display: grid; gap: 0 1.5rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 60rem) { .admin-columns { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); } }

.joining { display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: center; justify-content: space-between; border-left: 6px solid var(--rule); }
.joining--open { border-left-color: var(--bench); }
.joining__state { margin: 0; display: flex; align-items: center; gap: 0.6rem; }
.dot { width: 0.8rem; height: 0.8rem; border-radius: 50%; background: var(--rule); border: 2px solid var(--ink-soft); }
.dot--on { background: var(--bench); border-color: var(--bench); }

.btn--outline { background: var(--white); color: var(--chamber); border-color: var(--chamber); }
.btn--outline:hover { background: var(--paper); }
.btn--danger { background: var(--white); color: #B42318; border-color: #B42318; }
.btn--danger:hover { background: #FEF3F2; }
.btn--small { min-height: 2.25rem; padding: 0.3rem 0.7rem; font-size: 0.875rem; }

.flash { margin-bottom: 1.5rem; padding: 1rem 1.25rem; border-radius: 10px; border: 2px solid var(--bench); background: var(--white); }
.flash--error { border-color: #B42318; }
.flash--invite { border-color: var(--brass); box-shadow: 0 0 0 4px rgba(226, 193, 120, 0.25); }
.flash p { margin-bottom: 0.5rem; }
.copy-row { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0.5rem 0; }
.copy-field { flex: 1 1 20rem; min-height: 2.75rem; padding: 0.4rem 0.7rem; font-family: var(--mono); font-size: 0.9375rem; border: 2px solid var(--ink); border-radius: 4px; background: var(--paper); color: var(--ink); }

.table-scroll { overflow-x: auto; }
.admin-table { width: 100%; border-collapse: collapse; font-size: 0.9375rem; min-width: 44rem; }
.admin-table th, .admin-table td { text-align: left; vertical-align: top; padding: 0.75rem 0.75rem 0.75rem 0; border-bottom: 1px solid var(--rule); }
.admin-table thead th { border-bottom: 2px solid var(--ink); font-size: 0.875rem; }
.admin-table .actions { white-space: nowrap; text-align: right; }
.admin-table .actions form { display: inline; }
.admin-table .actions .btn { margin-left: 0.35rem; }
.tag { display: inline-block; padding: 0.05rem 0.5rem; border-radius: 4px; font-size: 0.8125rem; font-weight: 700; background: var(--paper-deep); color: var(--ink); }
.tag--accepted, .tag--invited { background: #D8EFE3; color: #0B4F30; }
.tag--opened, .tag--new { background: #F6EBCF; color: var(--brass-ink); }
.tag--revoked, .tag--declined { background: #FBE4E2; color: #8A1C13; }
.tag--expired { background: var(--paper-deep); color: var(--ink-soft); }
.empty { color: var(--ink-soft); margin: 0; }

.activity { list-style: none; margin: 0.75rem 0 0; padding: 0; font-size: 0.9375rem; }
.activity li { padding: 0.5rem 0; border-bottom: 1px solid var(--rule); }
.activity__at { font-family: var(--mono); font-size: 0.8125rem; color: var(--ink-soft); margin-right: 0.5rem; }
.activity__actor { font-weight: 700; margin-right: 0.25rem; }
