/* PULSE — раздел «Развитие» (development.js).
 * Классы — префикс dv-. Светлая тема, токены кабинета (voice.css) с фолбэками. */

.dv-shell { display: flex; flex-direction: column; gap: 14px; }

.dv-topbar { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 4px; }
.dv-topbar .vx-btn { flex: none; }
.dv-topbar > *:last-child { margin-left: auto; }

.dv-sel {
  border: 1px solid var(--vx-border-input, #E0E0E0); background: #fff; border-radius: var(--vx-r-input, 12px);
  padding: 9px 12px; font-size: 14px; font-family: inherit; color: var(--vx-text, #0A0A0A);
}
.dv-sel:focus-visible { outline: 2px solid #0A0A0A; outline-offset: 1px; }

.dv-tablewrap { overflow-x: auto; border: 1px solid var(--vx-border, #ECECEC); border-radius: var(--vx-r-card, 18px); }
.dv-table { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 480px; }
.dv-table th, .dv-table td { text-align: left; padding: 11px 14px; border-bottom: 1px solid var(--vx-border, #ECECEC); white-space: nowrap; }
.dv-table th { font-size: 12.5px; font-weight: 600; color: var(--vx-text-2, #9A9A9A); text-transform: uppercase; letter-spacing: .03em; background: var(--vx-bg-hover, #F6F6F5); }
.dv-table tbody tr:last-child td { border-bottom: none; }
.dv-row { cursor: pointer; }
.dv-row:hover td { background: var(--vx-bg-hover, #F6F6F5); }
.dv-table--compare td { white-space: normal; vertical-align: top; }
.dv-table--compare th:nth-child(2), .dv-table--compare th:nth-child(3),
.dv-table--compare td:nth-child(2), .dv-table--compare td:nth-child(3) { width: 40%; }

.dv-zchip {
  display: inline-flex; align-items: center; font-size: 12.5px; font-weight: 600;
  border-radius: var(--vx-r-pill, 999px); padding: 4px 11px; white-space: nowrap;
}

.dv-chip {
  display: inline-block; font-size: 12px; border-radius: var(--vx-r-pill, 999px); padding: 3px 10px;
  background: var(--vx-fill, #F1F1F1); color: var(--vx-text, #0A0A0A); margin: 2px 6px 2px 0;
}
.dv-facts { margin: 8px 0 4px; }

.dv-sect { font-size: 13.5px; font-weight: 600; color: var(--vx-text-2, #9A9A9A); margin: 18px 2px 8px; }
.dv-sect:first-of-type { margin-top: 4px; }

.dv-card { border: 1px solid var(--vx-border, #ECECEC); border-radius: var(--vx-r-card, 18px); padding: 16px 18px; background: #fff; }

.dv-muted { color: var(--vx-text-2, #9A9A9A); font-size: 13.5px; }

.dv-detail__who { flex: 1; font-size: 15px; }

.dv-goal { border: 1px solid var(--vx-border, #ECECEC); border-radius: var(--vx-r-card-sm, 16px); padding: 14px 16px; margin-bottom: 10px; background: #fff; }
.dv-goal__head { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; }
.dv-goal__ttl { font-size: 14.5px; font-weight: 600; }
.dv-goal__status { font-size: 12.5px; color: var(--vx-text-2, #9A9A9A); white-space: nowrap; }

.dv-checkin { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 0; border-top: 1px dashed var(--vx-border, #ECECEC); }
.dv-checkin:first-of-type { border-top: none; }
.dv-checkin__main { display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; flex: 1; min-width: 0; }
.dv-checkin__pct { font-weight: 600; font-size: 13.5px; }
.dv-checkin__note { font-size: 13px; color: var(--vx-text, #0A0A0A); }

.dv-hints { margin: 0; padding-left: 18px; font-size: 13.5px; line-height: 1.6; }
.dv-hints__group + .dv-hints__group { margin-top: 10px; }
.dv-hints__ttl { font-size: 12.5px; font-weight: 600; color: var(--vx-text-2, #9A9A9A); margin-bottom: 4px; }

.dv-marks { border: 1px solid var(--vx-border, #ECECEC); border-radius: var(--vx-r-card, 18px); padding: 16px 18px; background: #fff; display: flex; flex-direction: column; gap: 12px; }
.dv-check { display: flex; align-items: center; gap: 8px; font-size: 14px; cursor: pointer; }
.dv-field { display: block; }
.dv-field > span { display: block; font-size: 12.5px; color: var(--vx-text-2, #9A9A9A); margin-bottom: 5px; }
.dv-ta {
  width: 100%; border: 1px solid var(--vx-border-input, #E0E0E0); border-radius: var(--vx-r-input, 12px);
  padding: 9px 12px; font-size: 14px; font-family: inherit; resize: vertical; min-height: 56px; box-sizing: border-box;
}
.dv-ta:focus-visible { outline: 2px solid #0A0A0A; outline-offset: 1px; }

.dv-counts { display: flex; gap: 10px; flex-wrap: wrap; }
.dv-plist { margin: 0; padding-left: 18px; font-size: 14px; line-height: 1.7; }

@media print {
  .vx-sidebar, .vx-topbar__actions, #dv-print, #dv-back { display: none !important; }
}
