/* ===== Формы входа/регистрации и личный кабинет ===== */

.auth {
  max-width: 420px;
}

.auth__form {
  display: grid;
  gap: 14px;
  margin-top: 22px;
}

.auth__form label {
  display: grid;
  gap: 6px;
  font-size: 13px;
  color: var(--muted);
}

.auth__form input[type="text"],
.auth__form input[type="email"],
.auth__form input[type="password"],
.auth__form input[type="number"] {
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: 2px;
  background: #fbfcfd;
  color: var(--ink);
  font: inherit;
}

.auth__form input:focus {
  outline: 2px solid var(--blue-light);
  outline-offset: -1px;
}

/* Ловушка для ботов: человек этого поля не видит. */
.trap {
  position: absolute !important;
  left: -9999px !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
}

.auth__hint {
  font-size: 13px;
  color: var(--muted);
}

.auth__hint a { color: var(--blue); }

.alert {
  padding: 12px 14px;
  margin-bottom: 18px;
  border-radius: 2px;
  border-left: 3px solid var(--blue);
  background: #f2f6fb;
  font-size: 14px;
}

.alert--error {
  border-left-color: #c0392b;
  background: #fdf2f1;
  color: #8e2c21;
}

.alert--ok {
  border-left-color: #1f9d55;
  background: #f1faf4;
  color: #1c6b41;
}

.alert__list {
  margin: 0;
  padding-left: 18px;
}

/* --- Кабинет --- */

.stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 16px;
  margin: 22px 0 8px;
}

.stat {
  padding: 18px;
  border: 1px solid var(--line);
  border-top: 3px solid var(--blue);
  background: #fbfcfd;
}

.stat__label {
  font-size: 12px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.stat__value {
  font-size: 23px;
  color: var(--navy);
  margin-top: 6px;
}

.table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  margin-top: 8px;
}

.table th,
.table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
  text-align: left;
}

.table th {
  font-weight: 600;
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.table tbody tr:hover { background: #fafbfc; }

.pos { color: #1f9d55; }
.neg { color: #c0392b; }

.table-wrap { overflow-x: auto; }
