/* Contact Admin: page-specific layout only. Shared controls, typography, cards, and navigation come from admin-core.css. */
.contact-admin-main { min-width: 0; }
.contact-admin-toolbar { align-items: end; }
.contact-admin-toolbar .admin-field { min-width: min(360px, 100%); margin: 0; }
.contact-admin-toolbar .admin-field input { width: 100%; }
.contact-admin-workspace {
  display: grid;
  grid-template-columns: minmax(300px, 390px) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}
.contact-inbox { min-width: 0; padding: 0; overflow: hidden; }
.contact-inbox__header { padding: 1rem 1rem .75rem; border-bottom: 1px solid var(--admin-border-soft); }
.contact-inbox__header h2 { margin: 0 0 .65rem; font-size: 1.25rem; }
.contact-filter-row { display: flex; flex-wrap: wrap; gap: .35rem; }
.contact-filter-row .admin-tab { display: inline-flex; align-items: center; gap: .35rem; min-height: 34px; padding: .42rem .62rem; }
.contact-filter-row .admin-nav__badge { position: static; min-width: 1.6rem; }
.contact-inbox-list { display: grid; max-height: calc(100vh - 285px); overflow: auto; }
.contact-inbox-more { padding: .7rem 1rem; border-top: 1px solid var(--admin-border-soft); background: var(--admin-surface-strong); }
.contact-inbox-more .admin-btn { width: 100%; }
.contact-inbox-item {
  width: 100%;
  display: grid;
  gap: .18rem;
  padding: .85rem 1rem;
  border: 0;
  border-bottom: 1px solid var(--admin-border-soft);
  background: transparent;
  color: var(--admin-text);
  text-align: left;
}
.contact-inbox-item:hover { background: var(--admin-surface-soft); }
.contact-inbox-item.is-active { background: var(--admin-sage-pale); box-shadow: inset 4px 0 0 var(--admin-sage); }
.contact-inbox-item.is-new strong { font-weight: 900; }
.contact-inbox-item__top { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.contact-inbox-item__email,
.contact-inbox-item__time { color: var(--admin-text-muted); font-size: .78rem; }
.contact-inbox-item__reason { color: var(--admin-text-soft); font-size: .84rem; font-weight: 800; }
.contact-inbox-item__preview { color: var(--admin-text-soft); font-size: .85rem; line-height: 1.4; }
.contact-status { width: max-content; }
.contact-status.is-new { background: var(--admin-clay-soft); color: var(--admin-danger); }
.contact-status.is-read { background: var(--admin-surface-muted); color: var(--admin-text-soft); }
.contact-status.is-replied { background: var(--admin-sage-soft); color: var(--admin-success); }
.contact-status.is-archived { background: var(--admin-surface-muted); color: var(--admin-text-muted); }
.contact-detail-card { min-width: 0; }
.contact-detail-empty { min-height: 360px; display: grid; place-items: center; text-align: center; color: var(--admin-text-muted); }
.contact-detail__header { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; padding-bottom: .9rem; border-bottom: 1px solid var(--admin-border-soft); }
.contact-detail__header h2 { margin: .15rem 0 .3rem; font-size: 1.7rem; }
.contact-detail__header p { margin: 0; color: var(--admin-text-soft); }
.contact-detail-meta { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .65rem; margin: 1rem 0; }
.contact-detail-meta > div { padding: .7rem .8rem; border: 1px solid var(--admin-border-soft); border-radius: var(--admin-radius-card); background: var(--admin-surface-strong); }
.contact-detail-meta dt { color: var(--admin-text-muted); font-size: .72rem; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; }
.contact-detail-meta dd { margin: .2rem 0 0; overflow-wrap: anywhere; }
.contact-message { margin: 1rem 0; padding: 1rem; border: 1px solid var(--admin-border); border-radius: var(--admin-radius-card); background: var(--admin-surface-strong); white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.65; }
.contact-detail-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.contact-reply-section { margin-top: 1.2rem; padding-top: 1.1rem; border-top: 1px solid var(--admin-border-soft); }
.contact-reply-section h3 { margin: 0 0 .75rem; }
.contact-reply-form { display: grid; gap: .75rem; }
.contact-reply-form .admin-field { margin: 0; }
.contact-reply-form textarea { min-height: 180px; resize: vertical; }
.contact-reply-history { display: grid; gap: .7rem; margin: .8rem 0 1.2rem; }
.contact-reply-history__item { padding: .8rem; border: 1px solid var(--admin-border-soft); border-radius: var(--admin-radius-card); background: var(--admin-surface-soft); }
.contact-reply-history__header { display: flex; justify-content: space-between; gap: .75rem; color: var(--admin-text-soft); font-size: .82rem; }
.contact-reply-history__body { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.55; }
.contact-send-error { display: block; color: var(--admin-danger); }
.contact-empty { margin: 0; padding: 1rem; color: var(--admin-text-muted); }
@media (max-width: 1080px) {
  .contact-admin-workspace { grid-template-columns: 1fr; }
  .contact-inbox-list { max-height: 420px; }
}
@media (max-width: 640px) {
  .contact-detail__header,
  .contact-reply-history__header { flex-direction: column; }
  .contact-detail-meta { grid-template-columns: 1fr; }
}
