/* Dizayn-tokeny i obshchie komponenty (ispolzuyutsya na vseh stranicah). */
:root {
  --bg: #0f1720;
  --bg-2: #1a232e;
  --bg-3: #131c26;
  --border: #2b3540;
  --text: #e6edf3;
  --text-dim: #adb5bd;
  --text-mute: #6b7683;
  --accent: #1c7ed6;
  --accent-2: #4dabf7;
  --green: #37b24d;
  --orange: #e8590c;
  --radius: 10px;
  --font: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; font-family: var(--font); color: var(--text); }
a { color: var(--accent-2); text-decoration: none; }
a:hover { text-decoration: underline; }
.hidden { display: none !important; }
.muted { color: var(--text-mute); }

/* Yazykovoy selektor */
.lang-select {
  background: var(--bg-2);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 6px 8px;
  font-size: 13px;
  cursor: pointer;
}

/* Banner-uvedomleniya */
.banner {
  padding: 10px 12px;
  border-radius: var(--radius);
  font-size: 12.5px;
  line-height: 1.45;
  margin-bottom: 14px;
}
.banner.warn { background: #3d2c00; color: #ffd8a8; border: 1px solid #7a5b00; }
.banner.err { background: #3a1414; color: #ffc9c9; border: 1px solid #7a2020; }
.banner a { color: inherit; text-decoration: underline; }

/* Knopki */
button { font-family: inherit; cursor: pointer; }
.primary {
  background: var(--accent);
  color: #fff;
  border: none;
  border-radius: 9px;
  padding: 11px 20px;
  font-size: 15px;
  font-weight: 600;
}
.primary:hover { background: #1971c2; }
.ghost {
  background: transparent;
  color: var(--text-dim);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 0 12px;
  font-size: 13px;
}
.ghost:hover { color: var(--text); border-color: var(--accent); }

/* Polya vvoda */
input[type='text'], input[type='password'], select {
  width: 100%;
  padding: 9px 11px;
  border-radius: 9px;
  border: 1px solid var(--border);
  background: var(--bg-2);
  color: var(--text);
  font-size: 14px;
  font-family: inherit;
}
input:focus, select:focus { outline: none; border-color: var(--accent); }

/* Тумблеры (toggle) вместо стандартных галочек — везде */
input[type='checkbox'] {
  appearance: none; -webkit-appearance: none;
  width: 36px; height: 21px; border-radius: 11px; background: var(--border);
  position: relative; cursor: pointer; flex: none; transition: background 0.15s; vertical-align: middle;
}
input[type='checkbox']::after {
  content: ''; position: absolute; top: 2px; left: 2px; width: 17px; height: 17px;
  border-radius: 50%; background: #fff; transition: transform 0.15s; box-shadow: 0 1px 2px rgba(0,0,0,0.3);
}
input[type='checkbox']:checked { background: var(--accent); }
input[type='checkbox']:checked::after { transform: translateX(15px); }
:root[dir='rtl'] input[type='checkbox']:checked::after { transform: translateX(-15px); }
