/* ------------------------------------------------------------------ */
/* Admin flag review console.                                          */
/* Restored from Altored-Health/altored-app-frontend 68d3833           */
/* (2026-05-22), lost on 2026-06-22 in fdd1bf4. Admin-only: the        */
/* consumer-facing .provider-flag-button / .unified-detail-flag rules   */
/* were deliberately NOT restored.                                      */
/* ------------------------------------------------------------------ */
/* 2026-05-21 admin-flags-v1: simple review flag controls. */
.flag-button {
  appearance: none !important;
  border: 1px solid rgba(26,21,34,.18) !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--ink-2) !important;
  min-height: 30px !important;
  padding: 0 10px !important;
  font-size: .68rem !important;
  font-weight: 950 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}

.flag-button:hover,
.flag-button:focus-visible {
  border-color: rgba(220,30,55,.35) !important;
  color: var(--brand-primary) !important;
}

.flag-button:disabled {
  cursor: default !important;
  opacity: .64 !important;
}

.admin-card-with-flag {
  position: relative !important;
  padding-right: 74px !important;
}

.admin-card-flag {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  z-index: 2 !important;
}

.admin-flag-list-panel,
.admin-flag-detail {
  min-height: 0 !important;
}

.admin-flag-list {
  display: grid !important;
  align-content: start !important;
  gap: 7px !important;
  min-height: 0 !important;
  overflow: auto !important;
  padding-right: 4px !important;
}

.admin-flag-row {
  display: grid !important;
  gap: 4px !important;
  width: 100% !important;
  border: 1px solid rgba(26,21,34,.12) !important;
  border-radius: 0 !important;
  background: #fff !important;
  padding: 10px !important;
  text-align: left !important;
  cursor: pointer !important;
}

.admin-flag-row:hover { border-color: rgba(31,24,35,.28) !important; }

.admin-flag-row.is-selected {
  border-color: rgba(220,30,55,.35) !important;
  box-shadow: inset 3px 0 0 var(--brand-primary) !important;
}

.admin-flag-row span {
  color: var(--muted-2) !important;
  font-size: .55rem !important;
  font-weight: 950 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}

.admin-flag-row strong {
  color: var(--ink-2) !important;
  font-size: .85rem !important;
  line-height: 1.12 !important;
}

.admin-flag-row small {
  color: var(--muted) !important;
  font-size: .65rem !important;
  font-weight: 760 !important;
  line-height: 1.22 !important;
}

.admin-flag-note-editor {
  display: grid !important;
  gap: 8px !important;
  margin-top: 12px !important;
}

.admin-flag-note-editor label {
  display: grid !important;
  gap: 6px !important;
}

.admin-flag-note-editor span {
  color: var(--muted-2) !important;
  font-size: .58rem !important;
  font-weight: 950 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}

.admin-flag-note-editor textarea {
  width: 100% !important;
  min-height: 92px !important;
  resize: vertical !important;
  border: 1px solid rgba(26,21,34,.16) !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--ink-2) !important;
  font: inherit !important;
  line-height: 1.35 !important;
  padding: 10px !important;
}

.admin-flag-note-actions {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.admin-flag-note-actions small {
  color: var(--muted) !important;
  font-size: .68rem !important;
  font-weight: 800 !important;
}

.admin-flag-patterns {
  margin: 0 0 14px !important;
  padding: 14px !important;
  background: #fff !important;
}

.admin-flag-pattern-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.admin-flag-pattern-grid section {
  border: 1px solid rgba(26,21,34,.10) !important;
  padding: 10px !important;
  background: rgba(246,243,238,.42) !important;
}

.admin-flag-pattern-grid h4 {
  margin: 0 0 8px !important;
  color: var(--ink-2) !important;
  font-size: .72rem !important;
  font-weight: 950 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

.admin-flag-pattern-grid ul {
  display: grid !important;
  gap: 7px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.admin-flag-pattern-grid li {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 6px 10px !important;
  align-items: baseline !important;
  border-bottom: 1px solid rgba(26,21,34,.08) !important;
  padding-bottom: 6px !important;
}

.admin-flag-pattern-grid li:last-child {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.admin-flag-pattern-grid strong {
  min-width: 0 !important;
  color: var(--ink-2) !important;
  font-size: .76rem !important;
  line-height: 1.2 !important;
  overflow-wrap: anywhere !important;
}

.admin-flag-pattern-grid span {
  color: var(--brand-primary) !important;
  font-size: .72rem !important;
  font-weight: 950 !important;
}

.admin-flag-pattern-grid small,
.admin-flag-pattern-grid p {
  grid-column: 1 / -1 !important;
  margin: 0 !important;
  color: var(--muted) !important;
  font-size: .66rem !important;
  font-weight: 760 !important;
}

.altored-search-app[data-app-stage="admin"] .admin-flag-list-panel {
  display: grid !important;
  align-self: stretch !important;
  min-height: min(780px, max(560px, calc(100dvh - 270px))) !important;
  overflow: hidden !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  background: #fff !important;
}

@media (max-width: 680px) {
  .admin-card-with-flag { padding-right: 12px !important; padding-top: 48px !important; }

  .admin-card-flag { top: 10px !important; left: 10px !important; right: auto !important; }

  .admin-flag-pattern-grid { grid-template-columns: 1fr !important; }
}
