/* ===================================================
   ANALYTICS PAGE STYLES
   =================================================== */

.analytics-grid {
  display: grid;
  grid-template-columns: minmax(0,2fr) minmax(0,1fr);
  gap: 1.25rem;
}
.analytics-pnl      { grid-column: 1; }
.analytics-volume   { grid-column: 2; }
.analytics-sector   { grid-column: 2; grid-row: 2; }
.analytics-heatmap  { grid-column: 1; grid-row: 2; }
.analytics-ai-score { grid-column: 1; grid-row: 3; }
.analytics-calendar { grid-column: 2; grid-row: 3; }

/* Sector Chart */
.sector-chart-wrap { display: flex; align-items: center; gap: 1.5rem; margin-top: 1rem; }
#sector-legend { flex: 1; display: flex; flex-direction: column; gap: 0.5rem; }
.sector-legend-item { display: flex; align-items: center; gap: 0.5rem; font-size: 0.78rem; }
.sector-legend-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
.sector-legend-name { flex: 1; color: var(--text-secondary); }
.sector-legend-pct { font-weight: 700; color: var(--text-primary); }

/* Heatmap */
.heatmap-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.5rem; margin-top: 1rem; }
.heatmap-cell {
  border-radius: var(--radius-md); padding: 0.875rem 0.75rem;
  text-align: center; cursor: pointer;
  transition: transform var(--transition-fast);
}
.heatmap-cell:hover { transform: scale(1.04); }
.heatmap-cell .cell-name { font-size: 0.72rem; font-weight: 700; color: rgba(255,255,255,0.8); }
.heatmap-cell .cell-pct  { font-size: 1rem; font-weight: 800; color: #fff; margin-top: 4px; }

/* AI Score */
.ai-score-body { display: flex; align-items: center; gap: 2rem; margin-top: 1rem; }
.ai-score-ring-wrap { position: relative; flex-shrink: 0; }
.ai-score-label {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  text-align: center;
}
.ai-score-num  { font-family: var(--font-display); font-size: 2rem; font-weight: 800; color: var(--text-primary); }
.ai-score-text { font-size: 0.75rem; color: var(--accent-cyan); font-weight: 600; }
.ai-score-details { flex: 1; display: flex; flex-direction: column; gap: 0.75rem; }
.score-item-label { font-size: 0.75rem; color: var(--text-muted); margin-bottom: 2px; }

/* Trade Calendar */
.trade-calendar {
  display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; margin-top: 1rem;
}
.cal-day {
  width: 100%; aspect-ratio: 1; border-radius: 4px;
  display: flex; align-items: center; justify-content: center;
  font-size: 0.65rem; font-weight: 600; cursor: pointer;
  transition: transform var(--transition-fast);
}
.cal-day:hover { transform: scale(1.2); }
.cal-day.empty  { background: transparent; color: transparent; }
.cal-day.none   { background: rgba(15,122,77,0.05); color: var(--text-muted); }
.cal-day.low    { background: rgba(15,122,77,0.2);  color: var(--accent-cyan); }
.cal-day.mid    { background: rgba(15,122,77,0.5);  color: #fff; }
.cal-day.high   { background: var(--accent-cyan);   color: var(--bg-primary); }
.cal-day.loss   { background: rgba(255,61,90,0.4);  color: var(--accent-red); }

@media (max-width: 1100px) {
  .analytics-grid { grid-template-columns: 1fr; }
  .analytics-pnl, .analytics-volume, .analytics-sector, .analytics-heatmap,
  .analytics-ai-score, .analytics-calendar { grid-column: 1; grid-row: auto; }
  .ai-score-body { flex-direction: column; align-items: flex-start; }
}
