/* Extend the existing paper/forest utility system for a wider admin workspace. */
.app-shell.app-shell--admin { width: min(100%, 1120px); }
.admin-overview-screen { padding-top: 32px; }
.admin-overview-screen .intro > p { max-width: 60ch; }
.admin-toolbar { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 24px; }
.admin-task-navigation { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 16px; }
.admin-task-navigation button { min-height: 44px; }
.admin-freshness { margin: 8px 0 0; font-size: 14px; }
.admin-toolbar .text-button, .admin-pagination .text-button { min-height: 44px; }
.admin-section { margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--line); }
.admin-section h2 { margin: 0 0 16px; }
.admin-counts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 24px; margin: 0; font-variant-numeric: tabular-nums; }
.admin-counts dt, .admin-family-details dt, .admin-email-list dt { color: var(--muted); font-size: 14px; line-height: 1.5; }
.admin-counts dd { margin: 4px 0 0; color: var(--forest-900); font-size: 24px; font-weight: 600; }
.admin-section .quiet-copy { max-width: 75ch; line-height: 1.6; }
.admin-email-list { list-style: none; padding: 0; margin: 0; }
.admin-family-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 24px; margin: 0 0 24px; }
.admin-family-details dd, .admin-email-list dd { margin: 4px 0 0; font-size: 15px; line-height: 1.5; overflow-wrap: anywhere; }
.admin-pagination { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: 16px; font-variant-numeric: tabular-nums; }
.admin-pagination span { font-size: 14px; color: var(--muted); }
.admin-email-list > li { padding: 16px 0; border-bottom: 1px solid var(--line); }
.admin-email-list > li > div { display: grid; gap: 4px; overflow-wrap: anywhere; }
.admin-email-list time { color: var(--muted); font-size: 14px; }
.admin-email-list dl { display: grid; gap: 16px; margin: 16px 0 0; }
.admin-overview-screen button:disabled { opacity: .6; cursor: default; }
@media (min-width: 768px) {
  .admin-overview-screen { padding-inline: 40px; }
  .admin-counts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .admin-family-details { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .admin-email-list > li { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
  .admin-email-list dl { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
}
.admin-growth-table { border-collapse: collapse; width: 100%; table-layout: fixed; font-variant-numeric: tabular-nums; }
.admin-growth-table caption { text-align: start; color: var(--muted); font-size: 14px; line-height: 1.6; margin-bottom: 16px; }
.admin-growth-table th, .admin-growth-table td { text-align: start; padding: 12px 8px; border-bottom: 1px solid var(--line); vertical-align: top; overflow-wrap: anywhere; }
.admin-growth-table thead th { font-size: 14px; font-weight: 400; color: var(--muted); }
.admin-growth-table th:first-child { width: 40%; padding-inline-start: 0; }
.admin-growth-table tbody th { font-weight: 500; }
.admin-growth-table td { font-weight: 600; }
.admin-growth-table small, .admin-counts dd small { display: block; font-size: 14px; line-height: 1.5; font-weight: 400; color: var(--muted); margin-top: 4px; }
.admin-search-form > div { display: flex; flex-wrap: wrap; gap: 12px; }
.admin-search-form .ui-field { flex: 1 1 240px; min-width: 0; }
.admin-search-form .primary-button { flex: 0 0 auto; width: auto; align-self: flex-start; margin-top: 32px; }
.admin-search-results { list-style: none; padding: 0; margin: 16px 0 0; }
.admin-search-results li { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-block: 16px; border-bottom: 1px solid var(--line); }
.admin-search-results li > div { min-width: 0; overflow-wrap: anywhere; }
.admin-search-results span { display: block; color: var(--muted); font-size: 14px; line-height: 1.6; margin-top: 4px; }
.admin-search-results button { flex: 0 0 auto; min-height: 44px; }
.admin-selected { margin: 0; padding: 0; }
.admin-overview-screen .intro :is(h1,p) { overflow-wrap: anywhere; }
.admin-selected > p { overflow-wrap: anywhere; }
.admin-recent-emails { margin-top: 24px; }
.admin-recent-emails > summary { padding-block: 12px; cursor: pointer; min-height: 44px; }
.admin-overview-screen a.text-button { display: inline-flex; align-items: center; min-height: 44px; }
.admin-overview-screen :is(input,summary,a):focus-visible { outline: 2px solid var(--forest-900); outline-offset: 3px; }
@media (max-width: 767px) { .admin-search-form .primary-button { width: 100%; margin-top: 0; } .admin-growth-table th, .admin-growth-table td { font-size: 14px; padding-inline: 4px; } .admin-growth-table small { font-size: 12px; } }
.admin-activity-feed > summary { cursor: pointer; min-height: 44px; padding-block: 12px; }
.admin-activity-totals { margin-top: 24px; }
.admin-activity-totals > summary { cursor: pointer; min-height: 44px; padding-block: 12px; }
.admin-activity-days { list-style: none; padding: 0; margin: 24px 0 0; }
.admin-activity-days > li + li { margin-top: 32px; }
.admin-activity-days h3 { margin: 0 0 8px; font-size: 16px; }
.admin-selected .admin-activity-list { max-height: none; overflow: visible; }
.admin-activity-list { list-style: none; padding: 0; margin: 0; max-height: 480px; overflow-y: auto; scrollbar-color: var(--muted) var(--paper); }
.admin-activity-list li { display: grid; gap: 8px 24px; padding: 16px 0; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.admin-activity-list span, .admin-activity-list time { display: block; color: var(--muted); font-size: 14px; line-height: 1.6; }
.admin-activity-list p { margin: 0 0 4px; }
.admin-local-notice { padding: 16px 24px; border-bottom: 1px solid var(--line); color: var(--forest-900); }
.admin-local-notice p { margin: 4px 0 0; color: var(--muted); }
@media (min-width: 768px) { .admin-activity-list li { grid-template-columns: 1fr 1fr; } }
