/* Base */
html,body {
  height: 100%;
  margin: 0;
  padding: 0;
}
html {
  box-sizing: border-box;
}
*, *:before, *:after { box-sizing: inherit; }

body {
  font-family: Arial, Helvetica, sans-serif;
  background: #fff;
  color: #111;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Контейнер шириной 1200 на всех устройствах (по ТЗ) */
.container, .container-fluid {
  max-width: 1200px;
}

/* Шапка/меню (рендерится из common.php) */
.zk-header {
  text-align: center;
  padding: 28px 16px 16px;
}
.zk-header img {
  height: 28px;
  opacity: .9;
}
.zk-header h1 {
  font-size: 24px;
  font-weight: 700;
  margin: 10px 0 0;
}
.zk-nav {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 12px;
}
.zk-nav a {
  text-decoration: none;
  padding: 8px 12px;
  border-radius: 10px;
  color: #111;
  border: 1px solid rgba(0,0,0,.08);
}
.zk-nav a.active {
  background: #111;
  color: #fff;
  border-color: #111;
}

/* Карточки контента */
.zk-card {
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 16px;
  background: #fff;
  box-shadow: 0 2px 12px rgba(0,0,0,.03);
  margin-bottom: 12px;
}
.zk-card-title { font-weight: 600; }
.zk-card-subtle { color: #666; font-size: 12px; margin-top: 6px; }

/* Поля вопрос/ответ */
.zk-field-question {
  width: 100%;
  border: none;
  outline: none;
  resize: vertical;
  font-weight: 700;
  font-size: 20px; /* в 2 раза больше, чем ответ */
}
.zk-field-answer {
  min-height: 320px;
  outline: none;
  font-size: 14px; /* ответ меньше по шрифту */
}
.zk-hr {
  border: none;
  border-top: 1px solid rgba(0,0,0,.12);
  margin: 8px 0 16px;
}

/* Теги (плашки должностей) */
.zk-tag {
  display: inline-block;
  padding: 4px 8px;
  border-radius: 999px;
  background: #f3f3f3;
  font-size: 12px;
  color: #333;
  margin-right: 6px;
  margin-bottom: 4px;
}

/* Оверлей (всплывающие окна) */
.zk-overlay {
  position: fixed; inset: 0;
  background: rgba(0,0,0,.35);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 16px;
  z-index: 1000;
  animation: zkFadeIn .18s ease-out forwards;
}
.zk-overlay .zk-panel {
  width: 100%;
  max-width: 900px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0,0,0,.15);
  padding: 16px;
  opacity: 0;
  animation: zkRise .18s ease-out forwards;
}
@keyframes zkFadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes zkRise { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }

/* Тосты */
.zk-toast {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  bottom: 24px;
  background: #111;
  color: #fff;
  padding: 10px 14px;
  border-radius: 999px;
  font-size: 14px;
  opacity: 0;
  z-index: 1100;
  animation: zkToastIn .15s ease-out forwards;
}
@keyframes zkToastIn { from { opacity: 0; } to { opacity: 1; } }
.zk-toast-hide { animation: zkToastOut .15s ease-in forwards; }
@keyframes zkToastOut { from { opacity: 1; } to { opacity: 0; } }

/* Подпись "думаю…" */
.zk-thinking { color:#666; font-size: 12px; }

/* Кнопка удаления (иконка компактная) */
button.zk-del { line-height: 1; padding: 6px 8px; }