/* Общая тема Nakama: спокойный премиальный стиль без бликов */
:root{
  --bg: #eef4ef;
  --bg-soft: #f5f8f4;
  --panel: rgba(255,255,255,.84);
  --panel-strong: rgba(244,249,245,.96);
  --panel-green: linear-gradient(180deg, rgba(241,248,243,.96) 0%, rgba(231,242,234,.96) 100%);
  --panel-green-2: linear-gradient(180deg, rgba(236,245,239,.98) 0%, rgba(225,239,229,.98) 100%);
  --dialog-dark: linear-gradient(180deg, rgba(42,72,56,.96) 0%, rgba(33,58,45,.98) 100%);
  --dialog-dark-2: linear-gradient(180deg, rgba(48,82,63,.96) 0%, rgba(36,63,49,.98) 100%);
  --line: rgba(34,75,54,.12);
  --line-strong: rgba(34,75,54,.22);
  --line-dark: rgba(255,255,255,.08);
  --text: #142019;
  --muted: #5f6f66;
  --text-on-dark: #eef7f1;
  --muted-on-dark: rgba(238,247,241,.74);
  --accent: #2d6a4f;
  --accent-2: #3b7d5d;
  --accent-soft: #edf5ef;
  --danger: #8d4141;
  --ok: #24573d;
  --shadow-lg: 0 24px 70px rgba(20,32,25,.09);
  --shadow-md: 0 12px 30px rgba(20,32,25,.07);
  --shadow-sm: 0 8px 18px rgba(20,32,25,.05);

  /* Русский комментарий: строгие небольшие радиусы */
  --radius-xl: 8px;
  --radius-lg: 6px;
  --radius-md: 5px;
  --radius-sm: 4px;
}

html, body{
  min-height: 100%;
}

.wrap,
.hero-premium,
main,
section{
  position: relative;
  z-index: 1;
}

a:not(.btn){
  color: #245b43;
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 3px;
  text-decoration-color: rgba(36,91,67,.42);
  transition: color .16s ease, text-decoration-color .16s ease, opacity .16s ease;
  font-weight: 600;
}

a:not(.btn):hover{
  color: #183f2e;
  text-decoration-color: rgba(24,63,46,.72);
}

/* Русский комментарий: спокойные панели без эффекта блика */
.card,
.item,
.answer,
.history-header,
.option,
form{
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-xl) !important;
}

.card,
.item,
.answer,
.history-header,
.option{
  background: var(--panel-green);
  border: 1px solid var(--line);
  box-shadow: var(--shadow-md);
  backdrop-filter: blur(8px);
  transition:
    transform .16s ease,
    box-shadow .16s ease,
    border-color .16s ease,
    background .16s ease;
}

.item,
.answer,
.option{
  background: var(--panel-green-2);
}

.card{
  outline: 1px solid rgba(255,255,255,.45);
  outline-offset: -1px;
}

.card::before,
.item::before,
.answer::before,
.history-header::before,
.option::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.10) 0%, rgba(255,255,255,0) 28%);
}

/* Русский комментарий: полностью убираем отсвечивание */
.card::after,
.item::after,
.answer::after,
.history-header::after,
.option::after,
.btn::after{
  content: none !important;
  display: none !important;
}

.card:hover,
.item:hover,
.answer:hover,
.history-header:hover,
.option:hover{
  transform: translateY(-1px);
  border-color: var(--line-strong);
  box-shadow: var(--shadow-lg);
}

/* Русский комментарий: формы без бликов и лишней динамики */
form{
  background: var(--dialog-dark);
  border: 1px solid var(--line-dark);
  box-shadow: 0 18px 42px rgba(20,32,25,.18);
  padding: 18px;
  transition: none !important;
  transform: none !important;
}

form::before,
form::after{
  content: none !important;
  display: none !important;
}

form:hover{
  transform: none !important;
  box-shadow: 0 18px 42px rgba(20,32,25,.18) !important;
  border-color: var(--line-dark) !important;
}

form label,
form .muted,
form p,
form span,
form strong{
  color: var(--text-on-dark) !important;
}

form .muted{
  color: var(--muted-on-dark) !important;
}

form a:not(.btn){
  color: #d8efe0;
  text-decoration-color: rgba(216,239,224,.42);
}

form a:not(.btn):hover{
  color: #f2fbf6;
  text-decoration-color: rgba(242,251,246,.78);
}

/* Русский комментарий: кнопки без эффекта отсвечивания */
.btn,
button,
button.btn,
a.btn{
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-sm) !important;
  border: 1px solid rgba(34,75,54,.18) !important;
  background: linear-gradient(180deg, #3a7356 0%, #2d6049 100%) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(45,106,79,.16);
  letter-spacing: .01em;
  transition:
    transform .16s ease,
    box-shadow .16s ease,
    filter .16s ease,
    border-color .16s ease;
}

.btn:hover,
button:hover,
button.btn:hover,
a.btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(45,106,79,.18);
  filter: none;
}

.btn.secondary{
  background: linear-gradient(180deg, rgba(249,252,249,.96) 0%, rgba(239,246,241,.96) 100%) !important;
  color: var(--accent) !important;
  border-color: rgba(45,106,79,.16) !important;
  box-shadow: var(--shadow-sm);
}

.btn.danger{
  background: linear-gradient(180deg, rgba(255,250,250,.96) 0%, rgba(249,240,240,.96) 100%) !important;
  color: var(--danger) !important;
  border-color: rgba(141,65,65,.18) !important;
}

button[disabled],
.btn[disabled]{
  background: #d6dfd9 !important;
  border-color: #d6dfd9 !important;
  color: #f8fbf9 !important;
  box-shadow: none !important;
  transform: none !important;
  cursor: not-allowed !important;
}

/* Русский комментарий: поля аккуратные и читабельные */
input,
textarea,
select{
  border-radius: var(--radius-md) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.10) 0%, rgba(255,255,255,.07) 100%);
  color: var(--text-on-dark);
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

input::placeholder,
textarea::placeholder{
  color: rgba(238,247,241,.52);
}

input:focus,
textarea:focus,
select:focus{
  outline: none;
  border-color: rgba(146,212,176,.34) !important;
  box-shadow: 0 0 0 4px rgba(146,212,176,.08);
  background: rgba(255,255,255,.12);
}

.card input,
.card textarea,
.card select,
.item input,
.item textarea,
.item select,
.answer input,
.answer textarea,
.answer select{
  background: linear-gradient(180deg, rgba(252,254,252,.96) 0%, rgba(243,248,244,.96) 100%);
  color: var(--text);
  border: 1px solid var(--line) !important;
}

.card input::placeholder,
.card textarea::placeholder,
.item input::placeholder,
.item textarea::placeholder,
.answer input::placeholder,
.answer textarea::placeholder{
  color: rgba(20,32,25,.38);
}

.card input:focus,
.card textarea:focus,
.card select:focus,
.item input:focus,
.item textarea:focus,
.item select:focus,
.answer input:focus,
.answer textarea:focus,
.answer select:focus{
  border-color: rgba(45,106,79,.34) !important;
  box-shadow: 0 0 0 4px rgba(45,106,79,.07);
  background: rgba(255,255,255,.98);
}

h1, h2, h3{
  letter-spacing: -.02em;
  color: #102018;
}

.muted,
.small,
p{
  color: var(--muted) !important;
  line-height: 1.5;
}

.ok,
.success{
  background: var(--dialog-dark-2) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  color: #eff8f2 !important;
  border-radius: var(--radius-md) !important;
}

.err,
.error{
  background: linear-gradient(180deg, rgba(84,44,44,.96) 0%, rgba(70,36,36,.98) 100%) !important;
  border: 1px solid rgba(255,255,255,.06) !important;
  color: #fff2f2 !important;
  border-radius: var(--radius-md) !important;
}

.tab-btn{
  border-radius: var(--radius-sm) !important;
  border: 1px solid var(--line) !important;
  background: linear-gradient(180deg, rgba(251,253,251,.94) 0%, rgba(239,246,241,.94) 100%) !important;
  color: var(--text) !important;
  transition: all .16s ease;
  box-shadow: var(--shadow-sm);
}

.tab-btn.active{
  background: linear-gradient(180deg, #3a7356 0%, #2d6049 100%) !important;
  border-color: rgba(45,106,79,.22) !important;
  color: #fff !important;
  box-shadow: 0 10px 18px rgba(45,106,79,.14);
}

/* ===== STEP 18 OVERRIDES ===== */
/* Русский комментарий: ссылки на документы внизу главной делаем спокойными серыми */
footer a:not(.btn),
footer .muted a:not(.btn),
.footer-links a:not(.btn),
.docs-links a:not(.btn){
  color: #aab3ae !important;
  text-decoration-color: rgba(170,179,174,.55) !important;
  font-weight: 600 !important;
}

footer a:not(.btn):hover,
footer .muted a:not(.btn):hover,
.footer-links a:not(.btn):hover,
.docs-links a:not(.btn):hover{
  color: #c3cbc7 !important;
  text-decoration-color: rgba(195,203,199,.82) !important;
}

/* Русский комментарий: блоки личного кабинета делаем тёмно-зелёными и контрастными */
#cabinetContent .item,
#answersBox .answer,
#historyHeader{
  background: linear-gradient(180deg, rgba(28,55,43,.96) 0%, rgba(20,40,32,.98) 100%) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  box-shadow:
    0 20px 44px rgba(0,0,0,.24),
    0 10px 22px rgba(0,0,0,.14) !important;
  color: #eef7f1 !important;
}

/* Русский комментарий: текст и подписи внутри тёмных блоков кабинета */
#cabinetContent .item *,
#answersBox .answer *,
#historyHeader *{
  color: inherit !important;
}

#cabinetContent .item .muted,
#answersBox .answer .muted,
#historyHeader .muted{
  color: rgba(238,247,241,.74) !important;
}

#cabinetContent .item strong,
#answersBox .answer strong,
#historyHeader strong{
  color: #ffffff !important;
}

/* Русский комментарий: внутри личного кабинета ссылки тоже делаем читаемыми на тёмном блоке */
#cabinetContent .item a:not(.btn),
#answersBox .answer a:not(.btn),
#historyHeader a:not(.btn){
  color: #dcefe3 !important;
  text-decoration-color: rgba(220,239,227,.48) !important;
}

#cabinetContent .item a:not(.btn):hover,
#answersBox .answer a:not(.btn):hover,
#historyHeader a:not(.btn):hover{
  color: #f2fbf6 !important;
  text-decoration-color: rgba(242,251,246,.82) !important;
}

/* Русский комментарий: немного усиливаем читаемость заголовка и описания кабинета */
#profileTab > .muted,
#historyTab > .muted,
.card > .muted{
  letter-spacing: .01em;
}

/* ===== STEP 24 GLOBAL FIXES ===== */
/* Русский комментарий: единое box-sizing */
html{
  box-sizing: border-box;
}
*, *::before, *::after{
  box-sizing: inherit;
}

/* Русский комментарий: глобально нормализуем высоту и читабельность полей */
input,
textarea,
select,
button{
  font: inherit;
}

input,
select{
  min-height: 46px !important;
  padding: 10px 14px !important;
  line-height: 1.2 !important;
}

textarea{
  min-height: 120px;
  padding: 12px 14px !important;
  line-height: 1.45 !important;
  resize: vertical;
}

/* Русский комментарий: disabled-поля и disabled-кнопки делаем читаемыми */
input[disabled],
textarea[disabled],
select[disabled]{
  opacity: 1 !important;
  color: #4d6054 !important;
  background: linear-gradient(180deg, rgba(241,246,242,.96) 0%, rgba(233,240,235,.96) 100%) !important;
  border-color: rgba(34,75,54,.12) !important;
  cursor: not-allowed;
}

button[disabled],
.btn[disabled]{
  opacity: 1 !important;
  color: #f7fbf8 !important;
  background: #bcc7c0 !important;
  border-color: #bcc7c0 !important;
}

/* Русский комментарий: ссылки-кнопки в верхних навигационных кнопках делаем компактнее */
.auth-topbar .btn,
.topbar .btn,
.page-top .btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none !important;
}

/* ===== STEP 28 BUTTON SIZE FIXES ===== */
/* Русский комментарий: делаем кнопки нормальными по высоте, ширине и внутренним отступам */
.btn,
button,
button.btn,
a.btn{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  padding: 12px 18px !important;
  line-height: 1.15 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  white-space: nowrap;
}

/* Русский комментарий: верхние кнопки на auth-страницах не должны схлопываться */
.auth-top .btn,
.auth-topbar .btn,
.topbar .btn,
.page-top .btn{
  min-width: 168px !important;
}

/* Русский комментарий: submit-кнопки в формах делаем визуально нормальными */
form .btn,
form button,
.auth-actions .btn,
.auth-actions button{
  min-height: 48px !important;
  padding: 13px 20px !important;
}

/* Русский комментарий: маленькие тонкие кнопки убираем */
.btn.small,
button.small{
  min-height: 40px !important;
  padding: 10px 14px !important;
}
