/* Калькулятор эффективности на странице цен. Использует общий шаблон продуктовой секции. */
.efficiency-layout { display: grid; grid-template-columns: minmax(470px, .88fr) minmax(0, 1.52fr); gap: 24px; align-items: stretch; }
.efficiency-controls { display: grid; align-content: start; gap: 20px; padding: 20px; border: 1px solid var(--color-border-soft); border-radius: var(--radius-card); background: var(--color-surface-section); }
.efficiency-field { min-width: 0; }
.efficiency-field > label, .efficiency-label-row label, .efficiency-workload-row label, .efficiency-activity legend { display: block; color: var(--color-text); font-size: .88rem; font-weight: 700; }
.efficiency-label-row { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 10px; }
.efficiency-label-row output { color: var(--color-icon); font-size: 1rem; font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.efficiency-salary-range { display: block; width: 100%; margin: 0; accent-color: var(--color-action-primary); cursor: pointer; }
.efficiency-workload-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.efficiency-compact-field { display: grid; min-width: 0; grid-template-columns: minmax(0, 1fr) 66px; gap: 10px; align-items: center; }
.efficiency-workload-row label { min-width: 0; margin: 0; line-height: 1.25; }
.efficiency-number-input { width: 100%; min-height: 40px; margin: 0; padding: 8px 8px; border: 1px solid var(--color-border-soft); border-radius: 4px; background: var(--color-control); color: var(--color-text); font: inherit; font-size: .86rem; font-variant-numeric: tabular-nums; }
.efficiency-updown { width: 66px; text-align: center; }
.efficiency-number-input:focus-visible { border-color: var(--color-icon); outline: none; box-shadow: var(--focus-ring); }
.efficiency-activity { min-width: 0; margin: 0; padding: 0; border: 0; }
.efficiency-activity legend { width: 100%; margin-bottom: 10px; padding: 0; }
.efficiency-radio-list { display: grid; gap: 7px; }
.efficiency-radio { display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 9px; align-items: center; min-height: 34px; padding: 7px 9px; border: 1px solid var(--color-border-soft); border-radius: 4px; background: var(--color-window); color: var(--color-text-secondary); font-size: .78rem; line-height: 1.3; cursor: pointer; }
.efficiency-radio:hover { border-color: var(--color-icon); }
.efficiency-radio:has(input:checked) { border-color: color-mix(in srgb, var(--color-icon) 70%, var(--color-border)); background: var(--color-selection); color: var(--color-text); }
.efficiency-radio input { width: 14px; height: 14px; margin: 0; accent-color: var(--color-accent); }
.efficiency-radio input:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.efficiency-results-panel { min-width: 0; display: flex; flex-direction: column; }
.efficiency-status { min-height: 23px; margin: 0 0 10px; color: var(--color-text-secondary); font-size: .8rem; line-height: 1.45; }
.efficiency-status:empty { min-height: 0; margin: 0; }
.efficiency-status.is-error { color: var(--color-danger); }
.efficiency-results-scroll { flex: 1; overflow-x: auto; border: 1px solid var(--color-border-soft); border-radius: var(--radius-card); background: var(--color-surface-panel); }
.efficiency-results-scroll:focus-visible { outline: 2px solid var(--color-icon); outline-offset: 2px; }
.efficiency-results { width: 100%; min-width: 690px; height: 100%; border-collapse: collapse; table-layout: fixed; }
.efficiency-results th, .efficiency-results td { padding: 13px 14px; border-bottom: 1px solid var(--color-border-soft); vertical-align: middle; }
.efficiency-results thead { background: var(--color-footer); color: var(--color-text-secondary); font-size: .75rem; }
.efficiency-results thead th { text-align: center; vertical-align: middle; }
.efficiency-results tbody th { color: var(--color-text); font-size: .84rem; font-weight: 600; text-align: left; }
.efficiency-results td { text-align: center; color: var(--color-text); font-size: .86rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.efficiency-results th:nth-child(1) { width: 34%; }
.efficiency-results th:nth-child(2) { width: 18%; }
.efficiency-results th:nth-child(3) { width: 24%; }
.efficiency-results th:nth-child(4) { width: 24%; }
.efficiency-results tbody tr:last-child > * { border-bottom: 0; }
.efficiency-results [data-efficiency-time], .efficiency-results [data-efficiency-index] { color: var(--color-text); font-weight: 800; }
.efficiency-results [data-efficiency-time].is-accent, .efficiency-results [data-efficiency-index].is-accent { color: var(--color-icon); }
.efficiency-bundle-row { background: var(--color-selection); }
.efficiency-bundle-row th { font-weight: 800 !important; }
.efficiency-disclaimer { margin: 14px 0 0; color: var(--color-text-muted); font-size: .78rem; line-height: 1.55; }

@media (max-width: 1180px) {
  .efficiency-layout { grid-template-columns: minmax(0, 1fr); }
  .efficiency-controls { grid-template-columns: minmax(0, 1fr); }
  .efficiency-field-salary, .efficiency-activity { grid-column: auto; }
  .efficiency-radio-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .efficiency-results { min-width: 760px; }
}
@media (max-width: 700px) {
  .efficiency-controls { grid-template-columns: minmax(0, 1fr); padding: 16px; }
  .efficiency-field-salary, .efficiency-activity { grid-column: auto; }
  .efficiency-workload-row { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .efficiency-compact-field { grid-template-columns: minmax(0, 1fr) 58px; gap: 7px; }
  .efficiency-workload-row label { font-size: .75rem; }
  .efficiency-updown { width: 58px; }
  .efficiency-radio-list { grid-template-columns: minmax(0, 1fr); }
}
