@layer components {
  /* Period Selector */
  .insights-period-selector {
    display: flex;
    gap: 8px;
    margin-top: 8px;
  }

  .insights-period-pill {
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    background: rgba(255, 255, 255, 0.1);
    transition: background 0.15s, color 0.15s;

    &.active {
      background: rgba(255, 255, 255, 0.25);
      color: white;
    }
  }

  /* Revenue Big Number */
  .insights-big-number {
    font-size: 32px;
    font-weight: 700;
    color: var(--color-text);
    line-height: 1.1;
  }

  /* Comparison Badge */
  .insights-comparison {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 4px;
    font-size: 13px;
    color: var(--color-muted);
  }

  /* Change Indicators */
  .insights-change {
    font-size: 13px;
    font-weight: 600;

    &.change-positive {
      color: var(--color-accent-green);
    }

    &.change-negative {
      color: var(--color-accent-red);
    }

    &.change-neutral {
      color: var(--color-muted);
    }
  }

  /* Sub-metrics Row */
  .insights-sub-metrics {
    display: flex;
    gap: 12px;
    margin-top: 16px;
  }

  .insights-sub-metric {
    flex: 1;
    background: var(--color-bg-secondary);
    border-radius: 10px;
    padding: 12px;
    text-align: center;

    .value {
      font-size: 16px;
      font-weight: 600;
      color: var(--color-text);
    }

    .label {
      font-size: 12px;
      color: var(--color-muted);
      margin-top: 2px;
    }
  }

  /* Outstanding Alert */
  .insights-outstanding {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 16px;
    padding: 12px 14px;
    background: var(--color-accent-amber-light);
    border-radius: 10px;
    font-size: 13px;
    color: var(--color-accent-amber-dark);
    text-decoration: none;

    svg {
      width: 18px;
      height: 18px;
      flex-shrink: 0;
    }
  }

  /* Progress Bar (Utilization) */
  .insights-progress-bar {
    height: 10px;
    background: var(--color-bg-secondary);
    border-radius: 5px;
    overflow: hidden;
    margin-top: 12px;
  }

  .insights-progress-fill {
    height: 100%;
    background: var(--color-primary);
    border-radius: 5px;
    transition: width 0.4s ease;
  }

  .insights-utilization-label {
    font-size: 20px;
    font-weight: 600;
    color: var(--color-text);
  }

  .insights-utilization-detail {
    font-size: 13px;
    color: var(--color-muted);
    margin-top: 6px;
  }

  /* Weak Days Info */
  .insights-weak-days {
    margin-top: 12px;
    padding: 10px 14px;
    background: var(--color-bg-secondary);
    border-radius: 10px;
    font-size: 13px;
    color: var(--color-muted);

    svg {
      width: 14px;
      height: 14px;
      vertical-align: -2px;
      margin-right: 4px;
    }
  }

  /* Customer Total */
  .insights-customer-total {
    margin-top: 12px;
    text-align: center;
    font-size: 13px;
    color: var(--color-muted);
  }

  /* At Risk Row */
  .insights-at-risk {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 12px;
    padding: 12px 14px;
    background: var(--color-bg-secondary);
    border-radius: 10px;
    font-size: 13px;
    color: var(--color-accent-amber-dark);
    text-decoration: none;

    svg {
      width: 16px;
      height: 16px;
      flex-shrink: 0;
    }

    .arrow {
      margin-left: auto;
      color: var(--color-muted);
    }
  }

  /* Conversion Rate */
  .insights-conversion {
    margin-top: 12px;
    display: flex;
    align-items: center;
    gap: 8px;

    .value {
      font-size: 18px;
      font-weight: 600;
      color: var(--color-text);
    }
  }

  /* Activity Feed */
  .insights-feed {
    margin-top: 12px;
  }

  .insights-feed-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 0;

    &:not(:last-child) {
      border-bottom: 1px solid var(--color-border);
    }
  }

  .insights-feed-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--color-primary);
    flex-shrink: 0;
    margin-top: 6px;
  }

  .insights-feed-content {
    flex: 1;
    min-width: 0;
  }

  .insights-feed-action {
    font-size: 14px;
    color: var(--color-text);
  }

  .insights-feed-subject {
    font-weight: 500;
  }

  .insights-feed-time {
    font-size: 12px;
    color: var(--color-muted);
    margin-top: 2px;
  }

  .insights-feed-empty {
    text-align: center;
    padding: 24px 0;
    font-size: 14px;
    color: var(--color-muted);
  }
}
