/* /admin/markup — per-channel карточки с дефолтом и city-overrides.
 * Опирается на токены и admin.css (.admin-card, .admin-input, .admin-table…). */

.markup-page {
  display: grid;
  gap: var(--space-3, 1rem);
  grid-template-columns: 1fr;
}

@media (min-width: 980px) {
  .markup-page { grid-template-columns: 1fr 1fr; }
}

.markup-card {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}

.markup-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
}

.markup-card__badge {
  background: #f1f5f9;
  color: #334155;
  border-radius: 999px;
  padding: .15rem .55rem;
  font-size: .75rem;
  font-weight: 500;
  white-space: nowrap;
}

/* ── Дефолт-секция ── */
.markup-default {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  padding: .65rem;
  background: #f8fafc;
  border-radius: var(--radius-2, .5rem);
}

.markup-default__label {
  font-size: .8125rem;
  font-weight: 500;
  color: #475569;
}

.markup-default__hint {
  color: #94a3b8;
  font-weight: 400;
  font-size: .75rem;
  margin-left: .25rem;
}

.markup-default__row {
  display: flex;
  align-items: center;
  gap: .5rem;
}

.markup-default__unit {
  font-size: .8125rem;
  color: #475569;
  font-weight: 500;
}

.markup-input {
  max-width: 100px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

/* Кнопка смены знака — ввод отрицательного markup на телефоне (numeric-панель
   iOS/Android не содержит минуса). align-items:stretch → высота = высоте инпута. */
.markup-sign-wrap {
  display: inline-flex;
  align-items: stretch;
  gap: .375rem;
}
.markup-sign {
  flex: 0 0 auto;
  min-width: 2.25rem;
  padding: 0 .5rem;
  border: 1px solid var(--border, #e2e8f0);
  border-radius: var(--r-input, 10px);
  background: var(--surface, #fff);
  color: #1a1a1a;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.markup-sign:active { background: #f1f5f9; }

/* ── Overrides (для courier) ── */
.markup-overrides {
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

.markup-overrides__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
}

.markup-overrides__title {
  font-size: .875rem;
  font-weight: 600;
  color: #1a1a1a;
  margin: 0;
}

.markup-table th,
.markup-table td {
  vertical-align: middle;
}

.markup-table tbody tr {
  transition: background-color .15s;
}

.markup-table tbody tr.is-disabled {
  background: #f9fafb;
  color: #94a3b8;
}

.markup-row__actions {
  display: flex;
  gap: .35rem;
  white-space: nowrap;
}

/* dirty-state — подсветка изменённого инпута пока не нажали save */
.markup-input.is-dirty {
  border-color: var(--brand, #0096c7);
  background: #f0f9ff;
}
