/* Режим „Администратор“ — platform-wide read-only directories (/app/admin/*). */

.hero-panel--compact { padding-bottom: 1rem; }
.hero-panel--compact h1 .muted { font-weight: 500; font-size: 0.7em; }
.admin-hero-meta { margin: 0.15rem 0 0.6rem; color: var(--muted); }
.admin-hero-meta a { color: inherit; }

.admin-hero-search {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.85rem;
  max-width: 44rem;
}
.admin-hero-search input { flex: 1; min-width: 0; }

.admin-section-title {
  margin: 1.1rem 0 0.55rem;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
}

.admin-breadcrumb { margin: 0 0 0.55rem; font-size: 0.9rem; }
.admin-breadcrumb a { color: var(--muted); text-decoration: none; }
.admin-breadcrumb a:hover { color: var(--brand); }

.admin-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  margin: 0 0 0.85rem;
}
.admin-toolbar__search { flex: 1 1 16rem; min-width: 0; }
.admin-toolbar__select { flex: 0 1 14rem; margin: 0; }
.admin-toolbar__select select { width: 100%; }

.admin-pager {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-top: 0.85rem;
  font-size: 0.9rem;
}
.admin-pager__nav { display: flex; align-items: center; gap: 0.5rem; }

.table-wrap--tips { overflow: visible; }
.admin-table th.num,
.admin-table td.num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.admin-th-help {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.28rem;
}
.admin-table th .info-tip__panel {
  text-align: left;
  white-space: normal;
  font-variant-numeric: normal;
  font-weight: 500;
}
.admin-building-expand {
  margin-top: 0.3rem;
  text-align: left;
  white-space: normal;
  font-weight: 500;
}
.admin-building-expand > summary {
  cursor: pointer;
  color: var(--brand);
  font-size: 0.82rem;
}
.admin-building-expand ul {
  list-style: none;
  margin: 0.35rem 0 0;
  padding: 0;
}
.admin-building-expand li { padding: 0.18rem 0; font-size: 0.84rem; }
.admin-table td .muted { font-size: 0.82rem; }
.admin-primary-link { font-weight: 700; }
.admin-row-action { font-size: 0.82rem; white-space: nowrap; }
.admin-nowrap { white-space: nowrap; }
.admin-row-muted td { color: var(--muted); }

.admin-badges { display: flex; flex-wrap: wrap; gap: 0.3rem; align-items: center; }
.admin-badges .badge a { color: inherit; text-decoration: none; }

.admin-list { list-style: none; margin: 0; padding: 0; }
.admin-list li {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.5rem;
  align-items: baseline;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--line);
  font-size: 0.92rem;
}
.admin-list li:last-child { border-bottom: 0; }
.admin-list .muted { font-size: 0.84rem; }
.admin-subhead { margin: 1rem 0 0.35rem; font-size: 0.95rem; }
.admin-note { margin: 0.75rem 0 0; font-size: 0.84rem; }

.metric-card--link { display: block; color: inherit; text-decoration: none; transition: border-color 0.15s ease; }
.metric-card--link:hover { border-color: var(--brand); text-decoration: none; }

/* Grid of two cards that should stay side by side down to tablet. */
.admin-two-col { margin-bottom: 0.85rem; align-items: start; }

/* Compact 12-month twin-bar chart (users / buildings). */
.admin-months {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 0.35rem;
  align-items: end;
  height: 9.5rem;
}
.admin-months__col { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; min-width: 0; }
.admin-months__bars { display: flex; gap: 2px; align-items: flex-end; flex: 1; width: 100%; justify-content: center; }
.admin-months__bar { width: 38%; max-width: 14px; min-height: 2px; border-radius: 3px 3px 0 0; }
.admin-months__bar--users { background: var(--brand); }
.admin-months__bar--buildings { background: var(--ok); }
.admin-months__num { font-size: 0.72rem; font-weight: 700; line-height: 1.2; margin-top: 0.2rem; white-space: nowrap; }
.admin-months__label { font-size: 0.7rem; color: var(--muted); }

.admin-notify-form { display: grid; gap: 1rem; }
.admin-notify-channel { border: 1px solid var(--border, #e5e7eb); border-radius: 8px; padding: 0.75rem 1rem; }
.admin-notify-channel legend { font-weight: 700; }
.admin-notify-option { display: inline-flex; gap: 0.35rem; align-items: center; margin-right: 1rem; }
.admin-notify-dest { display: grid; gap: 0.35rem; }
.admin-banner {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  justify-content: space-between;
  padding: 0.65rem 0.9rem;
  margin: 0 0 0.75rem;
  background: #7c2d12;
  color: #fff;
  border-radius: 8px;
}
.admin-banner form { margin: 0; }

@media (max-width: 720px) {
  .admin-hero-search { flex-direction: column; }
  .admin-months { gap: 0.2rem; height: 7.5rem; }
  .admin-months__num .muted { display: none; }
  /* Tips need overflow:visible on desktop. On a phone the wide table must scroll. */
  .table-wrap--tips { overflow-x: auto; }
}
