.admin-main:has(.model-admin) { max-width: 1440px; padding: 24px 32px; }
.model-admin { font-size: 14px; line-height: 1.5; color: #24332e; }
.model-admin h1 { font-size: 30px; font-weight: 600; letter-spacing: -.7px; margin: 4px 0; }
.model-admin h2 { font-size: 16px; font-weight: 600; margin: 0; }
.model-admin p { margin: 8px 0; }
.model-admin a, .model-admin button { color: #3b6352; }
.model-admin__header { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
.model-admin__header p, .model-admin__count, .model-admin__muted { color: #627269; }
.model-admin__eyebrow { font-size: 12px; }
.model-admin__stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 20px; }
.model-admin__stats > div { background: #fff; border: 1px solid #e0e6e2; border-radius: 10px; padding: 12px 20px; }
.model-admin__stats strong { display: block; font-size: 28px; font-weight: 600; font-variant-numeric: tabular-nums; }
.model-admin__stats span { color: #627269; }
.model-admin__panel { display: grid; grid-template-columns: 1.1fr 1fr; gap: 24px; border: 1px solid #dce5de; border-radius: 12px; background: #f9fbf9; padding: 16px 24px; margin-bottom: 20px; }
.model-admin__explanation { font-size: 13px; color: #627269; }
.model-admin__choices { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.model-admin__choice { background: #fff; border: 1px solid #d9e2dc; border-radius: 6px; padding: 6px 10px; }
.model-admin__warning { color: #885219; }
.model-admin__filters { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; }
.model-admin__filters label { display: grid; gap: 6px; font-size: 12px; color: #627269; }
.model-admin__search { flex: 1; min-width: 180px; }
.model-admin__filters input[type=search], .model-admin__filters select { height: 40px; padding: 8px 12px; font: inherit; font-size: 14px; color: #24332e; border: 1px solid #d7dfda; border-radius: 7px; background: white; min-width: 0; }
.model-admin__filters .admin-btn { height: 40px; }
.model-admin__filters > a { padding: 8px 0; }
.model-admin__count { font-size: 12px; padding: 12px 0; }
.model-admin__table-wrap { overflow-x: auto; border: 1px solid #dce3de; border-radius: 10px; background: white; }
.model-admin__table { border-collapse: collapse; width: 100%; text-align: left; }
.model-admin__table th { background: #f8faf8; color: #627269; font-size: 12px; font-weight: 500; padding: 14px 16px; white-space: nowrap; }
.model-admin__table td { padding: 16px; border-top: 1px solid #e8ece9; vertical-align: top; }
.model-admin__table td > span, .model-admin__table td > small { display: block; }
.model-admin__table small { font-size: 12px; color: #627269; margin-top: 6px; }
.model-admin__identity { min-width: 210px; max-width: 280px; }
.model-admin__identity > strong { display: block; font-weight: 600; margin-bottom: 5px; }
.model-admin__identity > span { font-size: 12px; color: #627269; }
.model-admin__identity details { font-size: 12px; margin-top: 8px; }
.model-admin__identity summary { color: #3b6352; cursor: pointer; }
.model-admin__identity dl { margin: 12px 0; overflow-wrap: anywhere; }
.model-admin__identity dt { color: #627269; margin-top: 8px; }
.model-admin__identity dd { margin: 0; }
.model-admin__table .model-admin__badge { display: inline-block; font-size: 12px; font-weight: 500; border-radius: 5px; padding: 3px 7px; white-space: nowrap; }
.model-admin__badge--good { background: #edf5ef; color: #356246; }
.model-admin__badge--muted { background: #f1f3f2; color: #68716d; }
.model-admin__badge--warn { background: #fcf2df; color: #885219; }
.model-admin__action { display: inline-block; background: none; border: 0; font: inherit; font-size: 12px; padding: 0; margin-top: 8px; cursor: pointer; text-align: left; }
.model-admin__action:hover { text-decoration: underline; }
.model-admin__edit { display: inline-block; border: 1px solid #d7dfda; border-radius: 6px; padding: 5px 12px; }
.model-admin__empty { padding: 32px; }
.model-admin__sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.model-admin :focus-visible { outline: 2px solid #397755; outline-offset: 3px; }
.model-admin-form fieldset { border: 1px solid #d7dfda; border-radius: 10px; padding: 16px 24px; margin: 24px 0; background: #fff; }
.model-admin-form legend { padding: 0 8px; font-weight: 600; }
.model-admin-form input[type=checkbox] + label { display: inline; font-weight: 400; }
@media (max-width: 800px) {
  .admin-main:has(.model-admin) { padding: 24px 16px; }
  .model-admin__stats { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .model-admin__panel { grid-template-columns: 1fr; gap: 12px; padding: 20px; }
  .model-admin__table thead { display: none; }
  .model-admin__table tbody, .model-admin__table tr, .model-admin__table td { display: block; }
  .model-admin__table tr { display: grid; grid-template-columns: 1fr 1fr; padding: 16px; gap: 16px; border-bottom: 1px solid #dce3de; }
  .model-admin__table td { padding: 0; border: 0; min-width: 0; max-width: none; }
  .model-admin__table td::before { display: block; content: attr(data-label); font-size: 11px; color: #627269; margin-bottom: 6px; }
  .model-admin__table td:first-child { grid-column: 1 / -1; }
  .model-admin__table td:first-child::before { display: none; }
  .model-admin__table td:last-child { align-self: end; text-align: right; }
}
