/* «Планёрка» (ТЗ №92, п. 1) и «Цели» (п. 3): подсветка строк с проблемой, мелкие числа в ячейках, режим «На большой экран» (?screen=1).
   Подключается после ds.css; значения — только переменные из tokens.css (ни цветов, ни размеров шрифта числом). Разметка — webapp/public/js/pages/standup.js и goals.js. */

.standup-table .standup-n { font-size: var(--fs-12); white-space: nowrap; }
.standup-table tr.standup-problem td { background: var(--row-muted-bg); }
.standup-table td:last-child { white-space: normal; }
.standup-table td:last-child .badge { margin: 0 var(--sp-1) var(--sp-1) 0; }
.standup-attention { margin: 0; padding-left: var(--sp-4); display: flex; flex-direction: column; gap: var(--sp-2); }
.standup-context { margin-bottom: var(--sp-3); }

.goal-bar { display: block; height: var(--sp-2); border-radius: var(--ds-r-bar); background: var(--ds-neutral-bg); overflow: hidden; min-width: 64px; }
.goal-bar > span { display: block; height: 100%; background: var(--ds-accent); }
.goal-bar.is-bad > span { background: var(--error); }
.goal-bar.is-warn > span { background: var(--warning); }
.goal-cell { min-width: 120px; }
.goal-cell .goal-value { font-weight: var(--fw-strong); font-variant-numeric: tabular-nums; }
.goals-edit { display: grid; grid-template-columns: minmax(0, 1fr) 7em; gap: var(--sp-2) var(--sp-3); align-items: center; }
.goals-edit label { display: flex; align-items: center; gap: var(--sp-2); }

/* Большой экран: без меню и верхней кнопки, числа крупнее, обновление раз в 5 минут. */
body.standup-screen .sidebar,
body.standup-screen .sidebar-overlay,
body.standup-screen .mobile-menu-btn { display: none; }
body.standup-screen .content { margin-left: 0; max-width: none; padding: var(--sp-5); }
body.standup-screen .standup-table td,
body.standup-screen .standup-table th { font-size: var(--fs-20); padding-top: var(--sp-3); padding-bottom: var(--sp-3); }
body.standup-screen .standup-table .standup-n { font-size: var(--fs-16); }
body.standup-screen .standup-context { font-size: var(--fs-24); }
body.standup-screen .standup-attention { font-size: var(--fs-24); }
body.standup-screen .tile-value { font-size: var(--fs-36); }

/* Разбор один на один (ТЗ №92, п. 2.1): три звонка рядом, договорённости строками. */
.review-calls { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--sp-3); margin-bottom: var(--sp-3); }
.review-gist { margin: var(--sp-2) 0; }
.review-agreement { display: flex; gap: var(--sp-2); align-items: center; list-style: none; }
.review-agreement input { flex: 1 1 auto; }

/* Продажи (ТЗ №94): «Кому звонить сегодня», «Как отвечать», отчёты. */
.call-list { margin: 0 0 var(--sp-3); padding: 0; list-style: none; }
.call-list-row { padding: var(--sp-2) 0; border-bottom: 1px solid var(--border); }
.call-list-actions { margin-top: var(--sp-1); display: flex; gap: var(--sp-2); }
.call-list-promise, .call-list-gist { font-size: var(--fs-14); }
.answer-list { margin: 0; padding: 0; list-style: none; display: grid; gap: var(--sp-3); }
.answer-card blockquote { margin: var(--sp-2) 0; padding-left: var(--sp-3); border-left: 3px solid var(--border); }
.week-bars { display: flex; align-items: flex-end; gap: var(--sp-3); min-height: 120px; }
.week-bar { display: flex; flex-direction: column; align-items: center; gap: var(--sp-1); }
.week-stack { display: flex; flex-direction: column-reverse; width: 32px; min-height: 8px; }
.week-stack span { display: block; min-height: 2px; }
.seg-0 { background: var(--chart-line); } .seg-1 { background: var(--chart-prev); } .seg-2 { background: var(--success); }
.seg-3 { background: var(--warning); } .seg-4 { background: var(--error); } .seg-5 { background: var(--chart-prev); }
.legend-dot { display: inline-block; width: 10px; height: 10px; border-radius: var(--ds-r-bar); margin-right: var(--sp-1); }
.is-stuck { background: var(--warning-bg); font-weight: 600; }
.spark { display: inline-block; min-width: 1.5em; text-align: center; }
@media (max-width: 480px) { .call-list-actions .btn { min-height: 44px; flex: 1 1 auto; } }

/* Телефон: пометка изменения у плитки (tile-delta) переносится по словам, а не уезжает за край экрана (ТЗ №94, проверка на 360 и 390 px). */
@media (max-width: 480px) { .tile-delta { white-space: normal; overflow-wrap: anywhere; } .tile { min-width: 0; } }
