/* Базовые токены и общие стили. Вынесено из base.html для CSP nonce. */
:root {
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
  /* Единая нейтральная тёмная тема (весь проект) */
  --rec-page-bg: #121212;
  --rec-shell-bg: #181818;
  --rec-panel-bg: #1f1f1f;
  --rec-input-surface: #262626;
  --rec-border: #333333;
  --rec-border-soft: #3d3d3d;
  --rec-field-bg: #111111;
  --rec-field-border: #383838;
  --rec-btn-bg: #2a2a2a;
  --rec-btn-border: #404040;
  --rec-btn-hover: #323232;
  --rec-nav-hover-bg: #2a2a2a;
  --rec-divider-width: 2px;
  --rec-divider-color: #4f4f4f;
  --rec-chat-bg: #0f0f0f;
  --rec-composer-bar: #181818;
  --rec-chat-input-fill: #121212;
  --rec-chat-input-border: #454545;
  --rec-bubble-in: #242424;
  --rec-bubble-out: #363636;
  --rec-selection-border: #666666;
  --rec-text: #ffffff;
  --rec-link: #c4c4c4;
  --rec-status-online: #3fb950;
  /* Кнопки и плашки: скруглённый прямоугольник (как строки клиентов), не капсула */
  --rec-control-radius: 10px;

  background: var(--rec-page-bg);
  color: var(--rec-text);
}

/* Скрываем полосы прокрутки везде; прокрутка колёсиком/тачпадом сохраняется */
* {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
*::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

a { color: var(--rec-link); }
a:hover { color: var(--rec-text); }

.box {
  max-width: 28rem;
  margin: 4rem auto;
  padding: 2rem;
  background: var(--rec-shell-bg);
  border: 1px solid var(--rec-border);
  border-radius: 8px;
  color: var(--rec-text);
}
.box h1 { color: var(--rec-text); }

label {
  display: block;
  margin-top: 1rem;
  font-size: 0.875rem;
  color: var(--rec-text);
}
input[type="text"],
input[type="password"] {
  width: 100%;
  padding: 0.5rem;
  margin-top: 0.25rem;
  border-radius: 6px;
  border: 1px solid var(--rec-field-border);
  background: var(--rec-field-bg);
  color: var(--rec-text);
  box-sizing: border-box;
}

.flash {
  padding: 0.75rem;
  margin-bottom: 1rem;
  border-radius: 6px;
  background: #3a2228;
  border: 1px solid #f85149;
  color: var(--rec-text);
}

.login-shell {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  box-sizing: border-box;
}
.login-shell .box {
  margin: 0;
  width: 100%;
  max-width: 28rem;
}

button.login-submit {
  width: 100%;
  box-sizing: border-box;
  margin-top: 1.25rem;
  padding: 0.5rem;
  border-radius: var(--rec-control-radius);
  border: 1px solid var(--rec-btn-border);
  background: var(--rec-btn-bg);
  color: var(--rec-text);
  cursor: pointer;
  font-weight: 600;
}
button.login-submit:hover { background: var(--rec-btn-hover); }

button.btn-logout {
  margin-top: 1.25rem;
  padding: 0.5rem 1rem;
  border-radius: var(--rec-control-radius);
  border: 1px solid var(--rec-btn-border);
  background: var(--rec-btn-bg);
  color: var(--rec-text);
  cursor: pointer;
  font-weight: 600;
}
button.btn-logout:hover { background: var(--rec-btn-hover); }
