/* Profit and loss workbook. Table pieces come from css/_data.css. Borders: 1px hairline. */
#visu-tools.vt-profit-loss-workbook .vt-pl-top { margin: 0 0 10px; }
#visu-tools.vt-profit-loss-workbook .vt-pl-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 12px; margin: 16px 0 10px; padding-top: 14px; border-top: 1px solid var(--vt-line); }
#visu-tools.vt-profit-loss-workbook .vt-pl-cols select, #visu-tools.vt-profit-loss-workbook #vt-pl-signs { width: 100%; min-width: 0; }
#visu-tools.vt-profit-loss-workbook .vt-pl-cur { margin-top: 12px; }
#visu-tools.vt-profit-loss-workbook .vt-pl-cats { margin: 18px 0 0; padding: 14px 0 0; border: 0; border-top: 1px solid var(--vt-line); min-width: 0; }
#visu-tools.vt-profit-loss-workbook .vt-pl-cat-list { display: grid; gap: 8px; margin-top: 8px; }
#visu-tools.vt-profit-loss-workbook .vt-pl-cat-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 10px; align-items: center; padding: 6px 0; border-bottom: 1px solid var(--vt-line); }
#visu-tools.vt-profit-loss-workbook .vt-pl-cat-name { overflow-wrap: anywhere; font-weight: 600; }
#visu-tools.vt-profit-loss-workbook .vt-pl-cat-name small { display: block; font-weight: 400; color: var(--vt-muted, #6b7280); }
#visu-tools.vt-profit-loss-workbook .vt-pl-cat-row select { width: 100%; min-width: 0; }
#visu-tools.vt-profit-loss-workbook .vt-pl-empty { margin: 0; padding: 40px 16px; text-align: center; border: 1px dashed var(--vt-line); border-radius: 10px; color: var(--vt-muted, #6b7280); }
#visu-tools.vt-profit-loss-workbook .vt-pl-scroll { max-width: 100%; overflow-x: auto; border: 1px solid var(--vt-line); border-radius: 8px; margin: 0 0 12px; }
#visu-tools.vt-profit-loss-workbook .vt-pl-t { border-collapse: collapse; font-size: 13px; min-width: 100%; }
#visu-tools.vt-profit-loss-workbook .vt-pl-t caption { text-align: left; font-weight: 600; padding: 8px; }
#visu-tools.vt-profit-loss-workbook .vt-pl-t th, #visu-tools.vt-profit-loss-workbook .vt-pl-t td { border-bottom: 1px solid var(--vt-line); padding: 5px 8px; text-align: left; white-space: nowrap; }
#visu-tools.vt-profit-loss-workbook .vt-pl-t .n { text-align: right; font-variant-numeric: tabular-nums; }
#visu-tools.vt-profit-loss-workbook .vt-pl-t tr.vt-pl-cat th, #visu-tools.vt-profit-loss-workbook .vt-pl-t tr.vt-pl-cat td { color: var(--vt-muted, #6b7280); font-weight: 400; }
#visu-tools.vt-profit-loss-workbook .vt-pl-t tr.vt-pl-cat th { padding-left: 22px; white-space: normal; overflow-wrap: anywhere; }
#visu-tools.vt-profit-loss-workbook .vt-pl-t tr.vt-pl-sub th, #visu-tools.vt-profit-loss-workbook .vt-pl-t tr.vt-pl-sub td { font-weight: 700; }
#visu-tools.vt-profit-loss-workbook .vt-pl-t tr.vt-pl-total th, #visu-tools.vt-profit-loss-workbook .vt-pl-t tr.vt-pl-total td { font-weight: 700; border-top: 1px solid var(--vt-text); }
#visu-tools.vt-profit-loss-workbook .vt-pl-t tr.vt-pl-margin th, #visu-tools.vt-profit-loss-workbook .vt-pl-t tr.vt-pl-margin td { font-style: italic; font-weight: 400; }
#visu-tools.vt-profit-loss-workbook .vt-pl-check { margin: 8px 0; padding: 8px 12px; border: 1px solid var(--vt-line); border-left: 3px solid #059669; border-radius: 8px; }
#visu-tools.vt-profit-loss-workbook .vt-pl-check[data-kind="error"] { border-left-color: #dc2626; }
#visu-tools.vt-profit-loss-workbook .vt-pl-trail { margin: 12px 0; }
#visu-tools.vt-profit-loss-workbook .vt-pl-trail summary { cursor: pointer; font-weight: 600; min-height: 32px; }
#visu-tools.vt-profit-loss-workbook .vt-pl-trail li, #visu-tools.vt-profit-loss-workbook .vt-pl-excluded li { margin: 4px 0; overflow-wrap: anywhere; }
#visu-tools.vt-profit-loss-workbook .vt-pl-excluded { margin: 12px 0; padding: 10px 14px; border: 1px solid var(--vt-line); border-left: 3px solid #d97706; border-radius: 8px; }
#visu-tools.vt-profit-loss-workbook .vt-pl-excluded h3 { font-size: 15px; margin: 0 0 4px; }
#visu-tools.vt-profit-loss-workbook .vt-pl-disclaimer { margin: 12px 0 0; font-size: 13px; color: var(--vt-muted, #6b7280); }
@media (max-width: 700px) {
  #visu-tools.vt-profit-loss-workbook .vt-pl-cols { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
@media (max-width: 460px) {
  #visu-tools.vt-profit-loss-workbook .vt-pl-cols, #visu-tools.vt-profit-loss-workbook .vt-pl-cat-row { grid-template-columns: minmax(0, 1fr); }
}
#visu-tools.vt-profit-loss-workbook .vt-out { position: static; min-width: 0; }
