/* ============================================================================
   ⚡ ПУЛЬС — дашборд-карточка группы над лентой событий + подсказка read-only.
   Тёмная тема наследуется автоматически: используем семантические переменные
   (--panel/--soft/--text/--border/--brand), которые переопределяются под
   body.dark-theme в base.css.
   ============================================================================ */

/* Хост карточки: занимает фиксированную высоту над прокручиваемой лентой. */
.pulse-dashboard {
    flex: 0 0 auto;
    padding: 10px 12px 4px;
    background: var(--bg, #f5f5f4);
}

.pulse-card {
    border-radius: 16px;
    padding: 14px 14px 12px;
    background: var(--panel, #fff);
    border: 1px solid var(--border, rgba(0,56,65,.08));
    box-shadow: var(--shadow-sm, 0 1px 2px rgba(0,56,65,.06));
}
.pulse-loading { text-align: center; color: var(--text-secondary, #888); font-size: 14px; padding: 22px 0; }

/* Шапка карточки */
.pulse-card-head {
    display: flex; align-items: center; gap: 8px;
    margin-bottom: 12px;
}
.pulse-ic {
    font-size: 18px; line-height: 1;
    width: 30px; height: 30px; border-radius: 9px;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--brand-glow, rgba(0,95,109,.12));
}
.pulse-title { font-size: 16px; font-weight: 700; color: var(--text, #111); flex: 1 1 auto; }
.pulse-updated { font-size: 11px; color: var(--text-tertiary, #999); white-space: nowrap; }

/* Заголовок секции */
.pulse-section-title {
    font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
    color: var(--text-tertiary, #999);
    margin: 4px 2px 8px;
}

/* Люди (плитки статусов) */
.pulse-people {
    display: flex; flex-wrap: wrap; gap: 10px;
    margin-bottom: 12px;
}
.pulse-people-empty {
    font-size: 13px; color: var(--text-secondary, #888);
    padding: 6px 2px 12px;
}
.pulse-person {
    width: 72px;
    display: flex; flex-direction: column; align-items: center; gap: 5px;
}
.pulse-avatar {
    width: 40px; height: 40px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 14px; font-weight: 700;
    box-shadow: var(--shadow-xs, 0 1px 2px rgba(0,0,0,.15));
}
.pulse-person-name {
    font-size: 12px; font-weight: 600; color: var(--text, #111);
    max-width: 72px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.pulse-pill {
    font-size: 10px; font-weight: 600; line-height: 1;
    padding: 4px 7px; border-radius: 999px;
    background: var(--soft, #f1f1ef); color: var(--text-secondary, #555);
    white-space: nowrap;
}
/* Цветовые акценты по ведрам статусов */
.pulse-bucket-home     { background: rgba(58,209,122,.16); color: #1f9d57; }
.pulse-bucket-office   { background: rgba(58,209,122,.16); color: #1f9d57; }
.pulse-bucket-commute  { background: rgba(255,140,66,.18);  color: #cc6d33; }
.pulse-bucket-remote   { background: rgba(34,167,189,.18);  color: #1a6b82; }
.pulse-bucket-vacation { background: rgba(255,199,66,.20);  color: #b8860b; }
.pulse-bucket-away     { background: rgba(138,148,153,.20); color: #52606a; }
.pulse-bucket-off      { background: rgba(138,148,153,.20); color: #52606a; }
.pulse-bucket-unknown  { background: var(--soft, #f1f1ef);  color: var(--text-tertiary, #999); }

/* Факты (плитки ключевых данных) */
.pulse-facts {
    display: grid; grid-template-columns: 1fr 1fr; gap: 8px;
}
.pulse-fact {
    display: flex; align-items: center; gap: 9px;
    padding: 9px 10px; border-radius: 12px;
    background: var(--soft, #f1f1ef);
}
.pulse-fact-ic { font-size: 17px; line-height: 1; flex: 0 0 auto; }
.pulse-fact-body { min-width: 0; }
.pulse-fact-label {
    font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .03em;
    color: var(--text-tertiary, #999); margin-bottom: 2px;
}
.pulse-fact-value {
    font-size: 13px; font-weight: 600; color: var(--text, #111);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

/* Подсказка «только чтение» вместо композера */
.pulse-readonly-hint {
    flex: 0 0 auto;
    display: flex; align-items: center; justify-content: center; gap: 7px;
    padding: 12px 14px calc(12px + env(safe-area-inset-bottom, 0px));
    font-size: 13px; font-weight: 600;
    color: var(--text-secondary, #777);
    background: var(--panel, #fff);
    border-top: 1px solid var(--border, rgba(0,56,65,.08));
}
.pulse-ro-ic { font-size: 14px; }

/* Узкие экраны — плитки фактов в одну колонку */
@media (max-width: 360px) {
    .pulse-facts { grid-template-columns: 1fr; }
}
