/* ═══════════════════════════════════════════════════════════════════════════
   PROGRESS BAR — накопление баллов
   Акцент: #0ea5e9 (sky)

   gh-1 (120px): кольцо SVG по центру, инпут и кнопка под ним компактно.
   gh-2 (240px): кольцо слева, справа — значение + инпут + кнопка.
   gh-3/4: кольцо крупнее, инпут шире, всё с воздухом.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Layout-обёртка ── */
.t-pb-wrap {
  flex: 1;
  min-height: 0;
  display: flex;
  align-items: center;
  gap: 12px;
}

/* ── Кольцо ── */
.t-pb-ring-wrap {
  position: relative;
  flex-shrink: 0;
  width: 80px;
  height: 80px;
}
.t-pb-ring {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
  overflow: visible;
}
.t-pb-ring-bg   { fill: none; stroke: var(--surface2); stroke-width: 8; }
.t-pb-ring-fill {
  fill: none;
  stroke: #0ea5e9;
  stroke-width: 8;
  stroke-linecap: round;
  transition: stroke-dashoffset .45s cubic-bezier(.4,0,.2,1);
}
.t-pb-pct {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
  font-family: var(--mono);
  color: #0ea5e9;
  pointer-events: none;
}

/* ── Правая панель ── */
.t-pb-right {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  justify-content: center;
}
.t-pb-val {
  font-size: 20px;
  font-weight: 700;
  font-family: var(--mono);
  color: #0ea5e9;
  line-height: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.t-pb-val-max  { font-size: 12px; color: var(--muted); font-weight: 400; }
.t-pb-input-row { display: flex; gap: 5px; }
.t-pb-input-row .t-input { flex: 1; min-width: 0; }

/* ── gh-1: кольцо + инпут горизонтально на одной строке ── */
@container metric (max-height: 119px) {
  .t-metric-body    { padding: 0 8px 8px; }
  .t-pb-wrap        { gap: 8px; }
  .t-pb-ring-wrap   { width: 56px; height: 56px; }
  .t-pb-pct         { font-size: 11px; }
  .t-pb-val         { font-size: 14px; }
  .t-pb-val-max     { font-size: 10px; }
  .t-pb-input-row .t-input { font-size: 11px; padding: 3px 6px; height: 26px; }
  .t-pb-input-row .t-btn   { height: 26px; padding: 0 7px; }
}

/* ── gh-2: стандарт ── */
@container metric (min-height: 120px) and (max-height: 239px) {
  .t-pb-ring-wrap   { width: 72px; height: 72px; }
  .t-pb-pct         { font-size: 13px; }
  .t-pb-val         { font-size: 18px; }
}

/* ── gh-3/4: просторно, кольцо крупнее ── */
@container metric (min-height: 360px) {
  .t-pb-wrap        { flex-direction: column; align-items: center; gap: 14px; }
  .t-pb-ring-wrap   { width: 110px; height: 110px; }
  .t-pb-pct         { font-size: 18px; }
  .t-pb-val         { font-size: 22px; text-align: center; }
  .t-pb-right       { width: 100%; align-items: center; }
  .t-pb-input-row   { width: 100%; }
}

/* ── gw-2/3: кольцо ещё крупнее ── */
@container metric (min-width: 300px) and (min-height: 120px) and (max-height: 359px) {
  .t-pb-ring-wrap   { width: 90px; height: 90px; }
  .t-pb-pct         { font-size: 15px; }
  .t-pb-val         { font-size: 22px; }
}
