/* Connected Community — проверка вёрстки глазами сотрудника (15.10.2026).
   Часть оформления портала. Файлы подключаются в templates/index.html по порядку номеров: поздние правила перебивают ранние.
   Просьба пользователя: «чтобы всё было ровно, вёрстка не съезжала; где не надо, ничего не копировалось обычным движением». */

/* ---- случайное выделение: то, что нажимают, не выделяется двойным кликом и протягиванием мышкой.
   Текст новостей, ценностей, статей и карточек сотрудника в окне остаётся выделяемым — его копируют специально. ---- */
.nav-item, .nav-item *, button, .btn, .dep-chip, .subtab, .seg, .switch, .chip, .side-badge, .brand, .brand *,
.game-tile, .lp-card, .pres-card, .person-card, .partner-card, .soon-card, .vac-tile, .doc-tile, .req-tile, .kind-tile,
.games-row, .games-chips, .duel-row, .duel-card b, .mem-card, .ch-board, .bs-grid, .mines, .blocks-pad, canvas,
.trivia-topic, .quiz-opt, .widget-link, .widget-more, .tile, .subtabs, .admin-tabs, .back-link,
.section-title, .cw-brand, .cw-brand *, .profile-game, .profile-games-head, .games-me, .game-title, .game-best {
  -webkit-user-select: none; user-select: none;
}
/* картинки не перетаскиваются (фото, логотипы, обложки); в Firefox — ещё и запрет в core.js на dragstart у img */
img { -webkit-user-drag: none; user-drag: none; }

/* ---- Сапёр на телефоне: поле 9×9 помещается в карточку (клетки сжимаются, а не вылезают за рамку) ---- */
@media (max-width:560px){
  .mines{grid-template-columns:repeat(9,minmax(0,1fr));width:min(100%,312px);gap:3px;}
  .mines .mine-cell{width:auto;height:auto;aspect-ratio:1;}
}

/* ---- вызов коллеге: список «Кого вызвать» не обрезается посреди слова ---- */
.duel-card-body select{flex:1 1 170px;min-width:150px;}
.duel-card-body .btn{flex:0 0 auto;}

/* ---- Змейка и Сапёр на телефоне: кнопки направлений и «флажок» ---- */
.snake-pad{display:grid;grid-template-columns:repeat(3,52px);grid-template-rows:repeat(2,44px);gap:6px;justify-content:center;}
.snake-pad button{border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--ink);font-size:20px;font-weight:700;cursor:pointer;}
.snake-pad button:hover{border-color:var(--orange);color:var(--orange);}
.snake-pad [data-d="up"]{grid-column:2;grid-row:1;}
.snake-pad [data-d="left"]{grid-column:1;grid-row:2;}
.snake-pad [data-d="down"]{grid-column:2;grid-row:2;}
.snake-pad [data-d="right"]{grid-column:3;grid-row:2;}

/* ---- Настройки на телефоне: переключатель «Тема» в одну строку ---- */
@media (max-width:600px){
  .seg-group{flex-wrap:nowrap;}
  .seg-group .seg{padding-left:10px;padding-right:10px;font-size:13px;white-space:nowrap;}
}

/* ---- Мини-игры на телефоне: плитки по две в ряд, очки игры — всегда отдельной строкой под названием ---- */
@media (max-width:600px){
  .games-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .game-tile{padding:14px;}
  .section-head:has(.games-me){flex-wrap:wrap;}
  .section-head .games-me{flex-basis:100%;margin-top:4px;}
}

/* ---- «Мои заявки» в правой колонке: плашка статуса переносится, а не обрезается до «Ждёт одобрения: …» ---- */
.widget-myreq.compact .widget-req-bottom .req-status{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.35;}

/* ---- «Мой отпуск»: плитки с цифрами делят ряд поровну и на ноутбуке ---- */
.vac-tiles{display:flex;gap:12px;}
.vac-tile{flex:1 1 0;min-width:0;}

/* ---- Календарь, «Ближайшие»: название занимает остаток строки (на телефоне — своя строка, 16-launch.css) ---- */
@media (min-width:601px){ .event-row > .event-main{flex:1;min-width:0;} }   /* только на широком: на телефоне название своей строкой (16-launch.css) — иначе flex:1 перебивал flex-basis:100% (дизайнер 17.10.2026) */


/* ---- большая проверка 17.10.2026 (дизайнер): после смены шрифта и на настоящих данных ---- */
.game-title{overflow-wrap:normal;hyphens:manual;}                  /* название целым словом (17.10.2026: anywhere рвал «Скоропечатани/е») */
@media (max-width:600px){ .game-title{font-size:13.5px;letter-spacing:-.01em;} }
.hr-bal-table .hr-row-sub.warn{white-space:normal;max-width:170px;}   /* пометка «сотрудник не видит» переносится, а не растягивает таблицу */
.hr-bal-table td.hr-bal-name{min-width:130px;}
.mgr-hero-kicker{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}   /* «… 17 / ОКТЯБРЯ» не ломается на две строки */
@media (max-width:600px){ .regcode-row input{font-size:13px;letter-spacing:0;} }   /* «код не задан — самостоятельная…» не обрезается */
@media (min-width:901px){ .adm-audit-row{grid-template-columns:130px minmax(170px,300px) 1fr 120px;} }   /* почта в «кто» не рвётся посреди слова */   /* только на широком: на телефоне своя сетка (17.10.2026) */
.og-tools .btn{white-space:nowrap;}                      /* Road Map на телефоне: кнопки в одну строку каждая */
.og-tools{flex-wrap:wrap;}
/* форма трудового отпуска: сколько дней и какие праздники не входят (17.10.2026) */
.vac-form-days{margin-top:10px;font-size:13.5px;font-weight:600;color:var(--orange-dark);}

/* ---- самая полная проверка 17.10.2026 (дизайнер) ---- */
.suggestion-text,.suggestion-reply-text{overflow-wrap:anywhere;}      /* длинная ссылка в тексте сотрудника не вылезает из карточки */
.mgr-hero-kicker{white-space:normal;overflow:visible;text-overflow:clip;}   /* обрезка многоточием прятала дату — переносим целыми словами */
.section-title{line-height:1.15;}                                     /* «Программа / лояльности» на телефоне — строки рядом */

/* окно «Причина правки остатка» (Панель HR → остатки отпусков, 19.10.2026) */
.confirm-modal .reason-text{width:100%;min-height:84px;margin:12px 0 4px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit;resize:vertical;box-sizing:border-box;}
