/* Главные страницы ролей (ТЗ №84, п. 2): «Главное» директора, «Сегодня» руководителя, «Ещё». Размеры шрифта — только из набора токенов (ТЗ №83, п. 1.2),
   длительности — переменные --t-*, цвета — токены темы (светлая и тёмная). Первый экран помещается без прокрутки на 1440 и 390. */
.home-body { display: grid; gap: var(--sp-4); }
.home-pause:empty { display: none; }

.home-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-4); }
.home-card { background: var(--card-bg); border: 1px solid var(--card-border); border-radius: var(--radius-lg, 10px); box-shadow: var(--shadow-card); min-width: 0; }
.home-card-link { display: block; padding: var(--sp-4); color: inherit; text-decoration: none; border-radius: inherit; }
.home-card > :not(.home-card-link) { padding-inline: var(--sp-4); }
.home-card > .home-card-label { padding-top: var(--sp-4); }
.home-card > .home-card-meaning { padding-bottom: var(--sp-4); }
.home-card-link:hover { background: var(--row-hover-bg, var(--tile-bg)); }
.home-card-label { font-size: var(--fs-12); color: var(--text-secondary); font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; }
.home-card-value { font-size: var(--fs-36); line-height: 1.15; font-weight: 700; margin-top: var(--sp-2); overflow-wrap: anywhere; }
.home-card-text { font-size: var(--fs-24); line-height: 1.25; }
.home-card-meaning { font-size: var(--fs-14); color: var(--text-secondary); margin-top: var(--sp-2); }
.home-tone-good { color: var(--success-text); }
.home-tone-bad { color: var(--error-text); }
.home-delta.up { color: var(--success-text); }
.home-delta.down { color: var(--error-text); }

.home-block { background: var(--card-bg); border: 1px solid var(--card-border); border-radius: var(--radius-lg, 10px); padding: var(--sp-4); min-width: 0; }
.home-h2 { font-size: var(--fs-16); font-weight: 600; margin: 0 0 var(--sp-3); }
.home-h2-row { display: flex; justify-content: space-between; align-items: baseline; gap: var(--sp-3); margin-bottom: var(--sp-3); }
.home-h2-row .home-h2 { margin: 0; }
.home-empty { margin: 0; color: var(--text-secondary); font-size: var(--fs-14); }
.home-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-4); }

.home-calls { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-2); }
.home-call { display: grid; grid-template-columns: 88px minmax(0, 1fr) auto auto; gap: var(--sp-3); align-items: baseline; padding: var(--sp-2) 0; border-top: 1px solid var(--card-border); font-size: var(--fs-14); }
.home-call:first-child { border-top: 0; }
.home-call-why { font-weight: 600; }
.home-call-sum { color: var(--text-secondary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-call-score { font-weight: 700; }

.home-ops { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-2); }
.home-op { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(60px, 1fr) auto; gap: var(--sp-3); align-items: center; font-size: var(--fs-14); }
.home-op-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-op-few { color: var(--text-tertiary); grid-column: span 2; }
.home-op-score { text-align: right; min-width: 3.5em; }
.home-ops-help .home-op { grid-template-columns: minmax(0, 1fr) auto; }
.home-ops-help .home-op-reason { grid-column: 1; color: var(--text-secondary); }
.home-ops-help .home-op .btn { grid-column: 2; grid-row: 1 / span 2; }
.home-bar { display: block; height: 8px; background: var(--neutral-bg); border-radius: var(--radius-pill); overflow: hidden; }
.home-bar > span { display: block; height: 100%; background: var(--brand-primary); border-radius: inherit; transition: width var(--t-slow) var(--ease); }
.home-bar-wide { margin: var(--sp-2) 0; }
.home-trust-value { font-size: var(--fs-28); font-weight: 700; }
.home-trust-line { font-size: var(--fs-14); color: var(--text-secondary); }

.home-strip { display: flex; justify-content: space-between; align-items: center; gap: var(--sp-4); flex-wrap: wrap; background: var(--brand-primary); color: var(--btn-primary-text); border-radius: var(--radius-lg, 10px); padding: var(--sp-4); }
.home-strip a.btn { text-decoration: none; }
.home-strip .btn-light { background: var(--btn-primary-text); color: var(--brand-primary); border-color: var(--btn-primary-text); }
.home-strip .btn-ghost { background: transparent; color: var(--btn-primary-text); border-color: var(--btn-primary-text); }
.home-strip-actions { display: flex; gap: var(--sp-2); flex-wrap: wrap; }

/* «Сегодня»: список дел */
.todo-list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-3); counter-reset: none; }
.todo { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: var(--sp-4); align-items: center; background: var(--card-bg); border: 1px solid var(--card-border); border-radius: var(--radius-lg, 10px); padding: var(--sp-3) var(--sp-4); }
.todo-num { font-size: var(--fs-28); font-weight: 700; text-align: center; }
.todo-title { font-size: var(--fs-16); font-weight: 600; }
.todo-meaning { font-size: var(--fs-14); color: var(--text-secondary); margin-top: 2px; }
.todo-red { border-color: var(--error); background: var(--error-bg); }
.todo-red .todo-num { color: var(--error-text); }
.todo-done { margin: 0; padding: var(--sp-5) var(--sp-4); text-align: center; font-size: var(--fs-16); color: var(--text-secondary); background: var(--card-bg); border: 1px solid var(--card-border); border-radius: var(--radius-lg, 10px); }
.home-themes, .home-lastcalls { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-2); font-size: var(--fs-14); }
.home-theme { display: flex; justify-content: space-between; gap: var(--sp-3); }
.home-lastcall { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--sp-3); }
.home-lastcall-score { font-weight: 600; }

/* «Ещё» */
.more-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-4); }
.more-group { background: var(--card-bg); border: 1px solid var(--card-border); border-radius: var(--radius-lg, 10px); padding: var(--sp-4); }
.more-group h2 { font-size: var(--fs-16); margin: 0 0 var(--sp-3); }
.more-links { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-2); font-size: var(--fs-14); }

@media (max-width: 900px) {
  .home-cards { grid-template-columns: 1fr; }
  .home-card-value { font-size: var(--fs-28); }
  .home-two, .more-groups { grid-template-columns: 1fr; }
  .home-call { grid-template-columns: minmax(0, 1fr) auto; }
  .home-call-sum { grid-column: 1 / -1; white-space: normal; }
  .todo { grid-template-columns: 48px minmax(0, 1fr); }
  .todo-btn { grid-column: 1 / -1; }
  .todo-btn .btn { width: 100%; }
}
