/* Доска дорожной карты — одна на сайт (freepos.ru/roadmap/) и панель («Развитие FreePOS»).
   Свои цвета, чтобы одинаково выглядеть и на главной теме, и в теме панели */
.rm-board { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; align-items: start; }
@media (max-width: 1199.98px) { .rm-board { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .rm-board { grid-template-columns: 1fr; } }
.rm-col { background: #f3f6fb; border-radius: 16px; padding: .9rem .8rem .8rem; }
.rm-col__head { display: flex; align-items: center; gap: .5rem; padding: 0 .2rem; color: #0e1b2c; font-size: .98rem; }
.rm-col__head b { font-weight: 600; }
.rm-col__dot { width: .55rem; height: .55rem; border-radius: 50%; background: #9da9bb; flex: 0 0 auto; }
.rm-col--idea .rm-col__dot { background: #a78bfa; }
.rm-col--planned .rm-col__dot { background: #2c7be5; }
.rm-col--now .rm-col__dot { background: #e8930c; box-shadow: 0 0 0 4px rgba(232,147,12,.18); }
.rm-col--done .rm-col__dot { background: #12a36d; }
.rm-col__count { margin-left: auto; font-size: .78rem; font-weight: 600; color: #6b7a8e; background: #fff; border-radius: 999px; padding: .05rem .5rem; }
.rm-col__lead { font-size: .8rem; color: #6b7a8e; margin: .25rem .2rem .7rem; line-height: 1.4; }
.rm-card { display: flex; gap: .6rem; align-items: flex-start; background: #fff; border: 1px solid #e3e8ef; border-radius: 12px; padding: .75rem .8rem; margin-bottom: .55rem; transition: border-color .15s, box-shadow .15s; }
.rm-card:hover { border-color: #c9daf3; box-shadow: 0 6px 18px rgba(11,21,36,.06); }
.rm-card.is-voted { border-color: #b9d1f5; }
.rm-card__body { flex: 1; min-width: 0; }
.rm-card h4 { font-size: .92rem; font-weight: 600 !important; color: #0e1b2c; margin: 0 0 .2rem; line-height: 1.3; }
.rm-card p { font-size: .82rem; color: #3b4a5e; margin: 0; line-height: 1.45; }
.rm-card__meta { display: flex; flex-wrap: wrap; gap: .3rem .6rem; margin-top: .35rem; font-size: .74rem; color: #6b7a8e; }
.rm-card__meta:empty { display: none; }
.rm-tag { background: #f1ecff; color: #6d4bd6; border-radius: 999px; padding: 0 .45rem; font-weight: 500; }
.rm-col--done .rm-card { background: #fbfdfc; }
.rm-vote {
  flex: 0 0 auto; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 0;
  min-width: 2.4rem; min-height: 2.4rem; padding: .2rem .35rem; border-radius: 10px; border: 1px solid #d8e2ef; background: #fff;
  color: #3b4a5e; font-size: .78rem; font-weight: 600; line-height: 1; cursor: pointer; transition: background-color .15s, border-color .15s, color .15s;
}
.rm-vote svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.rm-vote:hover { border-color: #2c7be5; color: #2c7be5; }
.rm-vote.is-on { background: #2c7be5; border-color: #2c7be5; color: #fff; }
.rm-vote--ro { cursor: default; background: #f7f9fc; }
.rm-vote--ro:hover { border-color: #d8e2ef; color: #3b4a5e; }
.rm-vote[disabled] { opacity: .6; cursor: progress; }
.rm-empty { font-size: .82rem; color: #9da9bb; text-align: center; padding: 1rem .5rem; border: 1px dashed #d8e2ef; border-radius: 12px; }
.rm-more { font-size: .78rem; color: #9da9bb; text-align: center; padding: .2rem 0 .1rem; }
.rm-vote span { font-size: .66rem; font-weight: 600; margin-top: .05rem; }
.rm-vote.is-on { background: #e6effc; border-color: #9cc1f3; color: #1d62c4; }
.rm-vote.is-on:hover { border-color: #2c7be5; color: #1d62c4; }
