/* =========================================================
   VIEW: Portfolio
   ========================================================= */

.portfolio-summary {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--space-md);
  margin-bottom: var(--space-lg);
}

.summary-card {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.summary-label {
  font-size: var(--font-size-xs);
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.summary-value {
  font-family: var(--font-mono);
  font-size: var(--font-size-lg);
  font-weight: 700;
  color: var(--text-primary);
}

.summary-change {
  font-family: var(--font-mono);
  font-size: var(--font-size-xs);
  font-weight: 600;
  padding: 2px 6px;
  border-radius: var(--radius-sm);
  width: fit-content;
}

.summary-change.positive {
  color: var(--accent-green);
  background: var(--accent-green-dim);
}

.summary-change.negative {
  color: var(--accent-red);
  background: var(--accent-red-dim);
}

.portfolio-content {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: var(--space-md);
}

.positions-table-header,
.positions-table-row {
  display: grid;
  grid-template-columns: 1fr 80px 1fr 1fr 1fr 1fr 1fr 120px;
  align-items: center;
  padding: var(--space-sm) var(--space-md);
  gap: var(--space-md);
}

.positions-table-header {
  background: var(--bg-tertiary);
  border-bottom: 1px solid var(--border-color);
  font-size: var(--font-size-xs);
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.positions-table-row {
  border-bottom: 1px solid var(--border-color);
  font-size: var(--font-size-sm);
}

.positions-table-row:last-child {
  border-bottom: none;
}

.position-badge {
  padding: 2px 8px;
  border-radius: var(--radius-sm);
  font-size: var(--font-size-xs);
  font-weight: 700;
  text-align: center;
}

.position-badge.long,
.position-badge.buy {
  color: var(--accent-green);
  background: var(--accent-green-dim);
}

.position-badge.short,
.position-badge.sell {
  color: var(--accent-red);
  background: var(--accent-red-dim);
}

.position-actions {
  display: flex;
  gap: var(--space-xs);
}

.portfolio-side {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.allocation-chart-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-md);
}

.allocation-legend {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  width: 100%;
}

.legend-item {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  font-size: var(--font-size-sm);
  color: var(--text-secondary);
}

.legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.performance-chart-placeholder {
  min-height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 1400px) {
  .portfolio-summary {
    grid-template-columns: repeat(3, 1fr);
  }
  .portfolio-content {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .portfolio-summary {
    grid-template-columns: repeat(2, 1fr);
  }
}
