.pivot-table-container {
  width: 100%;
  overflow-x: auto;
  margin: var(--space-md) 0
}
.pivot-loading,
.pivot-no-data {
  padding: var(--space-xl);
  text-align: center;
  color: var(--text-muted);
  background: var(--bg-subtle);
  border-radius: var(--radius-md)
}
.pivot-error {
  padding: var(--space-xl);
  text-align: center;
  color: #721c24;
  background: #f8d7da;
  border: 1px solid #f5c6cb;
  border-radius: var(--radius-md)
}
.estimate-output-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--bg-white);
  font-size: .875rem
}
.estimate-output-table td,
.estimate-output-table th {
  padding: var(--space-sm) var(--space-md);
  border: 1px solid var(--border-color);
  text-align: left;
  vertical-align: top;
  min-width: 100px
}
.estimate-output-table th {
  background: var(--bg-subtle);
  font-weight: 600;
  color: var(--text-primary);
  position: sticky;
  top: 0;
  z-index: 10
}
.pivot-row-field-header {
  min-width: 150px;
  white-space: nowrap
}
.pivot-row-field-header:first-child {
  min-width: 250px
}
.column-group-header {
  background: var(--bg-accent-subtle);
  border-bottom: 2px solid var(--border-accent);
  font-weight: 700;
  text-align: center
}
.column-group-start {
  border-left: 2px solid var(--border-accent)
}
.column-group-end {
  border-right: 2px solid var(--border-accent)
}
.number-column {
  text-align: right;
  font-variant-numeric: tabular-nums
}
.hierarchy-parent-row:hover {
  background: var(--bg-hover)
}
.hierarchy-leaf-row {
  background: var(--bg-subtle);
  font-size: .8125rem
}
.hierarchy-leaf-row:hover {
  background: var(--bg-hover)
}
.hierarchy-level-0 {
  font-weight: 600;
  background: var(--bg-white)
}
.hierarchy-level-1 {
  background: rgba(0,0,0,.02)
}
.hierarchy-level-2 {
  background: rgba(0,0,0,.04)
}
.hierarchy-level-3 {
  background: rgba(0,0,0,.06)
}
.hierarchy-level-4 {
  background: rgba(0,0,0,.08)
}
.hierarchy-level-5 {
  background: rgba(0,0,0,.1)
}
.pivot-expand-icon {
  cursor: pointer;
  margin-right: var(--space-xs);
  font-size: .75rem;
  color: var(--text-muted);
  transition: transform .2s ease;
  display: inline-block;
  width: 1rem;
  text-align: center;
}
.pivot-expand-icon:hover {
  color: var(--text-primary)
}
.pivot-leaf-bullet {
  font-size: .4rem;
  margin-right: var(--space-xs);
  color: var(--text-muted)
}
.indent-0 {
  padding-left: 0.5rem !important;
}
.indent-1 {
  padding-left: 1.75rem !important;
}
.indent-2 {
  padding-left: 3rem !important;
}
.indent-3 {
  padding-left: 4.25rem !important;
}
.indent-4 {
  padding-left: 5.5rem !important;
}
.indent-5 {
  padding-left: 6.75rem !important;
}
.line-item-indent-0 {
  padding-left: 2.375rem
}
.line-item-indent-1 {
  padding-left: 3.375rem
}
.line-item-indent-2 {
  padding-left: 4.375rem
}
.line-item-indent-3 {
  padding-left: 5.375rem
}
.line-item-indent-4 {
  padding-left: 6.375rem
}
.line-item-indent-5 {
  padding-left: 7.375rem
}
.pivot-expand-hidden {
  visibility: hidden;
}
.pivot-total-cell {
  background: var(--bg-accent-subtle);
}
.pivot-total-header {
  background: var(--bg-accent);
  font-weight: 700;
}
@media (max-width:768px) {
  .estimate-output-table {
    font-size: .75rem
  }
  .estimate-output-table td,
  .estimate-output-table th {
    padding: var(--space-xs) var(--space-sm)
  }
}