/* ОПИУ и PNL: строки — статьи, столбцы — периоды. */
.op-bar { margin: 0 0 12px; }
.op-wrap { overflow-x: auto; }
.op-grid { min-width: 100%; }
.op-grid th, .op-grid td { white-space: nowrap; text-align: right; vertical-align: top; }
.op-grid th:first-child, .op-grid td:first-child {
  text-align: left; position: sticky; left: 0; background: var(--surface); z-index: 1;
  min-width: 260px;
}
.op-grid tr.l1 td:first-child { padding-left: 28px; color: var(--muted); }
.op-grid tr.sub td { font-weight: 600; background: var(--surface-2); }
.op-grid tr.sub td:first-child { background: var(--surface-2); }
.op-grid tr.tot td { font-weight: 700; border-top: 2px solid var(--line); }
.op-grid td.total, .op-grid th.total { background: var(--surface-2); }
.op-grid .v { display: block; }
.op-grid .d, .op-grid .s { display: block; font-size: 11px; color: var(--muted); }
.op-grid .good { color: #15803d; }
.op-grid .bad { color: var(--bad); }
.op-grid .neg { color: var(--bad); }
.op-grid .lock { font-size: 11px; }
.op-grid .toggle { cursor: pointer; border: 0; background: none; padding: 0 4px 0 0; font: inherit; }
.op-note { margin-top: 10px; font-size: 12px; }
