/* Forecast & Targets: one table (UX overhaul, Plan batch). On phones each month
   becomes a small card: the month, then Forecast, Target, Sales Made and
   Ending Cash in a 2 × 2 grid. Growth, achievement and net cash flow return on
   a wider screen. */
.pl-table td:first-child, .pl-table th:first-child { white-space: nowrap; }
.pl-table .pl-sub { display: block; margin-top: 3px; font-size: 11.5px; font-weight: 400; color: var(--amino-text-muted); white-space: normal; max-width: 20ch; margin-left: auto; line-height: 1.35; }
.pl-table .pl-sub.pos { color: var(--z-good); }
.pl-table .pl-sub.neg { color: var(--z-bad); }
.pl-table .pl-sub-h { display: block; white-space: normal; margin-top: 2px; font-size: 10px; letter-spacing: .04em; opacity: .75; }
.pl-table .pl-sub-h .z-meaning { letter-spacing: inherit; }
.pl-table .inline-edit.empty { min-width: 64px; }
.pl-table .pl-sm { display: none; }

@media (max-width: 640px) {
  .table-scroll:has(> .pl-table) { overflow: visible; }
  .table-scroll .pl-table td:first-child { position: static; max-width: none; box-shadow: none; background: none; }
  .pl-table, .pl-table tbody { display: block; width: 100%; }
  .pl-table thead { display: none; }
  .pl-table tr {
    display: grid; grid-template-columns: 1fr 1fr; column-gap: 12px; row-gap: 8px;
    padding: 12px 0; border-top: 1px solid var(--amino-border);
  }
  .pl-table tbody tr:first-child { border-top: 0; }
  .table-scroll .pl-table tr td, .pl-table tr.row-now td, .pl-table tr.row-past td { display: block; padding: 0; border: 0; text-align: left; background: none; position: static; }
  .pl-table tr.row-now { background: var(--amino-n-50); padding: 12px 10px; border-radius: 12px; }
  .pl-table tr td.pl-x, .pl-table tr td.pl-none { display: none; }
  .pl-table td:first-child { grid-column: 1 / -1; box-shadow: none; font-weight: 600; color: var(--amino-text); }
  .pl-table td:first-child .z-row-tag { display: inline; margin-left: 6px; font-weight: 400; }
  .pl-table td[data-label]::before {
    content: attr(data-label); display: block; margin-bottom: 2px;
    font-size: 10.5px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--amino-text-muted);
  }
  .pl-table .pl-sub { max-width: none; margin-left: 0; }
  .pl-table .pl-sm { display: block; }
  .pl-table .inline-edit { padding: 4px 8px; margin-left: -9px; justify-content: flex-start; }
}
