/* ── Здоровье: направления, фильтры, пакет на приём (SPEC-CORE-0024 P0) ──
   Сетка отделений как в больнице; внутри карточки — фильтры и пакет. */
.heshint { padding: 6px 2px 10px; line-height: 1.35; }
.hesgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.hesdept { display: flex; flex-direction: column; gap: 3px; text-align: left; padding: 11px 12px;
  border: 1px solid rgba(255,255,255,.10); border-radius: 14px; background: var(--card);
  color: inherit; font: inherit; cursor: pointer; }
.hesdept:active { transform: scale(.985); }
.hesdept.bad { border-color: rgba(224,121,127,.45); }
.hesdeptname { display: flex; align-items: center; gap: 6px; font-weight: 650; font-size: 14px;
  line-height: 1.2; }
.hesdot { flex: 0 0 auto; font-style: normal; font-size: 11px; font-weight: 700; color: #fff;
  background: #e0797f; border-radius: 9px; padding: 1px 6px; }
.hesdeptmeta { font-size: 12px; color: var(--mut, #9aa0a6); font-variant-numeric: tabular-nums; }
.hesdeptsub { font-size: 11px; color: var(--mut, #9aa0a6); opacity: .8; line-height: 1.25; }
.hespack { display: flex; flex-direction: column; gap: 4px; padding: 12px; margin: 4px 0 10px;
  border: 1px solid rgba(110,168,254,.4); border-radius: 14px; background: rgba(110,168,254,.07); }
.hesbtn { align-self: flex-start; margin-top: 6px; padding: 9px 14px; border-radius: 11px;
  background: #6ea8fe; color: #0b0f14; font-weight: 700; text-decoration: none; font-size: 14px; }
.hesfilters { display: flex; flex-direction: column; gap: 8px; margin: 6px 0 10px; }
.heschips { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.heschips::-webkit-scrollbar { display: none; }
.heschip { flex: 0 0 auto; padding: 7px 11px; border-radius: 999px; font-size: 12.5px;
  border: 1px solid var(--line, rgba(255,255,255,.14)); background: var(--card); color: inherit;
  cursor: pointer; }
.heschip.on { background: var(--ink, #e8eaed); color: var(--bg, #0b0f14); border-color: transparent;
  font-weight: 650; }
.hesfrow { display: flex; gap: 6px; align-items: center; }
.hesfrow input[type="date"], .hesfrow select { flex: 1 1 0; min-width: 0; padding: 8px 10px;
  border-radius: 11px; border: 1px solid var(--line, rgba(255,255,255,.14));
  background: var(--card); color: inherit; font: inherit; font-size: 13px; }
@media (max-width: 360px) { .hesgrid { grid-template-columns: 1fr; } }

/* прогресс чекапа + полоса */
.hescp { display: flex; flex-direction: column; gap: 6px; }
.hescp details { margin-top: 2px; }
.hescp summary { cursor: pointer; }
.hesbar { height: 7px; border-radius: 999px; background: rgba(255,255,255,.12); overflow: hidden; }
.hesbar i { display: block; height: 100%; border-radius: 999px;
  background: linear-gradient(90deg, #6ea8fe, #8ef0c0); }
