:root {
  --золото: #b48a51;
  --тёмный: #3d3128;
  --фон: #fcfbf9;
  --рамка: #e6ddd0;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  font: 16px/1.5 Georgia, "Times New Roman", serif;
  color: var(--тёмный);
  background: var(--фон);
}
.шапка {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; padding: 14px 20px; border-bottom: 1px solid var(--рамка);
}
/* Без text-transform: подпись читается ровно так, как написана —
   «Купон Шу-Шу», а не «КУПОН ШУ-ШУ». */
.марка { color: var(--золото); letter-spacing: .04em; font-size: 18px; }
nav { display: flex; align-items: center; gap: 16px; }
a { color: var(--золото); }
main { max-width: 900px; margin: 0 auto; padding: 24px 16px 64px; }
button {
  font: inherit; padding: 9px 18px; border: 1px solid var(--золото);
  background: var(--золото); color: #fff; border-radius: 4px; cursor: pointer;
}
button.тихая { background: transparent; color: var(--золото); }
input, textarea {
  font: inherit; padding: 8px 10px; border: 1px solid var(--рамка);
  border-radius: 4px; width: 100%; background: #fff;
}
label { display: block; margin-bottom: 14px; }
.вход { max-width: 340px; margin: 48px auto; }
.ошибка { color: #a33; }
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; padding: 10px 8px; border-bottom: 1px solid var(--рамка); }
th { font-weight: normal; color: #8b7c6b; font-size: 14px; }
.номер { font-family: ui-monospace, "SF Mono", Menlo, monospace; }
.правка { display: flex; gap: 8px; }
.правка input { width: auto; flex: 1; min-width: 12rem; }
.правка button { padding: 8px 14px; }
/* Плашка состояния — один прямоугольник, а не разорванный по строкам фон. */
.метка {
  display: inline-block; font-size: 14px; padding: 2px 8px; border-radius: 10px;
  background: #f0e9df;
}
.метка.выдан { background: #e6f0e2; }
.метка.висит { background: #fbf0d8; }
.метка.негоден { background: #f4e0e0; }
/* Действия в строке таблицы: в один ряд, без переноса по словам. */
.действия { display: flex; align-items: center; gap: 10px; white-space: nowrap; }
/* Поиск: поле и кнопка рядом, а не друг под другом. */
.поиск { display: flex; gap: 10px; align-items: center; margin-bottom: 20px; }
.поиск input { flex: 1; min-width: 0; }
.предупреждение {
  padding: 12px 16px; border: 1px solid #e3cf9a; background: #fdf7e8;
  border-radius: 4px; margin-bottom: 20px;
}
.превью { width: 100%; height: 70vh; border: 1px solid var(--рамка); }
dialog { border: 1px solid var(--рамка); border-radius: 6px; padding: 24px; }
