/* P&L v4 — оверлей поверх p2.css. Канон: design/pnl-v4-claude.html.
   Логика экрана (pnl_report.js) не тронута — только вид. */

/* Шапка */
.pnl-report .pl3-head h2 { font-family: var(--serif); font-size: 24px; font-weight: 600; letter-spacing: -0.01em; }
.pnl-report .bud-month { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-sm); }
.pnl-report .bud-month-btn { background: transparent; border: none; color: var(--text-3); font-size: 14px; }
.pnl-report .bud-month-btn:hover { color: var(--text); }
.pnl-report .bud-month-label { font-weight: 500; color: var(--text); font-size: 13.5px; }
.pnl-report .pnl-export-btn { border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--bg-card); color: var(--text-2); }

/* Оговорки — тихие строки, не плашки */
.pnl-report .pnl-readonly-notice { background: transparent; border: none; padding: 2px 0; font-size: 12.5px; color: var(--text-3); }
.pnl-report .pnl-dq-notice { color: var(--amber); }
.pnl-report .pnl-readonly-icon { opacity: 0.8; }

/* KPI-карточки */
.pnl-report .pnl-kpi-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.pnl-report .pnl-kpi-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); padding: 15px 17px; box-shadow: none; }
.pnl-report .pnl-kpi-label { font-size: 10.5px; font-weight: 600; letter-spacing: 0.07em; color: var(--text-3); text-transform: uppercase; }
.pnl-report .pnl-kpi-value { font-family: var(--serif); font-size: 22px; font-weight: 600; color: var(--text); margin-top: 5px; letter-spacing: -0.01em; }
.pnl-report .pnl-kpi-value--neg { color: var(--red); }
.pnl-report .pnl-kpi-unit { font-size: 13px; color: var(--text-3); font-weight: 500; }
.pnl-report .pnl-kpi-pct { font-size: 12px; color: var(--text-2); margin-top: 3px; }
.pnl-report .pnl-kpi-plan { font-size: 12px; margin-top: 2px; }
.pnl-report .pnl-kpi-plan--ok { color: var(--green); }
.pnl-report .pnl-kpi-plan--bad { color: var(--red); }

/* Секции */
.pnl-report .pnl-section { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); padding: 15px 17px; box-shadow: none; }
.pnl-report .pnl-section-title { font-family: var(--serif); font-size: 15.5px; font-weight: 600; color: var(--text); }
.pnl-report .pnl-compact-toggle { background: transparent; border: none; color: var(--text-3); font-size: 12.5px; cursor: pointer; }
.pnl-report .pnl-compact-toggle:hover { color: var(--text); }

/* MTD vs Прогноз */
.pnl-report .pnl-mtd-row { border-bottom: 1px solid var(--border-soft); }
.pnl-report .pnl-mtd-row--head { color: var(--text-3); font-size: 10.5px; font-weight: 600; letter-spacing: 0.07em; text-transform: uppercase; border-bottom: 1px solid var(--border); }
.pnl-report .pnl-mtd-col { font-variant-numeric: tabular-nums; }
.pnl-report .pnl-mtd-row--bold { font-weight: 600; }
.pnl-report .pnl-mtd-neg { color: var(--text-2); }
.pnl-report .pnl-mtd-pos { color: var(--green); }
.pnl-report .pnl-mtd-row--net { font-family: inherit; }
.pnl-report .pnl-mtd-row--net .pnl-mtd-col { font-family: var(--serif); font-size: 15px; }

/* Waterfall */
.pnl-report .pnl-row { border-bottom: 1px solid var(--border-soft); }
.pnl-report .pnl-row--head { color: var(--text-3); font-size: 10.5px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; background: var(--bg-card); border-bottom: 1px solid var(--border); }
.pnl-report .pnl-cell-num { font-variant-numeric: tabular-nums; }
.pnl-report .pnl-row--group { background: transparent; }
.pnl-report .pnl-row--clickable { cursor: pointer; }
.pnl-report .pnl-row--clickable:hover { background: rgba(10, 10, 10, 0.015); }
.pnl-report .pnl-group-title { font-weight: 500; color: var(--text); }
.pnl-report .pnl-chevron { color: var(--text-3); font-size: 10px; }
.pnl-report .pnl-row-count { color: var(--text-3); font-size: 11.5px; }
.pnl-report .pnl-sign { color: var(--text-3); }
.pnl-report .pnl-sign--plus { color: var(--green); }
.pnl-report .pnl-sign--minus { color: var(--text-3); }
.pnl-report .pnl-row--item { background: rgba(10, 10, 10, 0.012); color: var(--text-2); font-size: 12.5px; border-bottom: 1px dashed var(--border-soft); }
.pnl-report .pnl-cell-name--sub { padding-left: 26px; }
.pnl-report .pnl-delta--good { color: var(--green); }
.pnl-report .pnl-delta--bad { color: var(--red); }
.pnl-report .pnl-neg { color: var(--text-2); }
.pnl-report .pnl-cell-bold { font-weight: 600; }

/* Субтоталы и тёмная плашка чистой прибыли */
.pnl-report .pnl-row--subtotal { font-weight: 600; background: var(--bg-soft); }
.pnl-report .pnl-subtotal-fact { font-family: var(--serif); font-size: 14.5px; }
.pnl-report .pnl-row--net { background: var(--text); color: #fff; border-radius: var(--radius-sm); border-bottom: none; margin-top: 8px; }
.pnl-report .pnl-row--net .pnl-cell-name, .pnl-report .pnl-row--net .pnl-cell-num { color: #fff; }
.pnl-report .pnl-row--net .pnl-subtotal-fact { font-family: var(--serif); font-size: 16px; }
.pnl-report .pnl-row--net .pnl-neg { color: #F3B8A5; }
.pnl-report .pnl-row--net .pnl-delta--good { color: #B9D2C1; }
.pnl-report .pnl-row--net .pnl-delta--bad { color: #F3B8A5; }

/* Нижние маржа-карточки */
.pnl-report .pnl-margins { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.pnl-report .pnl-margin-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); padding: 15px 17px; box-shadow: none; }
.pnl-report .pnl-margin-label { font-size: 10.5px; font-weight: 600; letter-spacing: 0.07em; color: var(--text-3); text-transform: uppercase; }
.pnl-report .pnl-margin-value { font-family: var(--serif); font-size: 20px; font-weight: 600; margin-top: 5px; }
.pnl-report .pnl-margin-value--ok { color: var(--green); }
.pnl-report .pnl-margin-value--bad { color: var(--red); }
.pnl-report .pnl-margin-plan { font-size: 12px; color: var(--text-3); margin-top: 2px; }

@media (max-width: 760px) {
  .pnl-report .pnl-kpi-row { grid-template-columns: 1fr 1fr; }
  .pnl-report .pnl-margins { grid-template-columns: 1fr; }
}

/* субтоталы МАРЖА/EBITDA: легаси красил цифры белым под старую тёмную плашку */
.pnl-report .pnl-row--subtotal:not(.pnl-row--net) .pnl-cell-name,
.pnl-report .pnl-row--subtotal:not(.pnl-row--net) .pnl-cell-num { color: var(--text); }
.pnl-report .pnl-row--subtotal:not(.pnl-row--net) .pnl-neg { color: var(--red); }
