/* ============================================
   POSITION BRIEF PAGE
   ============================================ */

@layer components {
  .position-brief-page {
    position: relative;
    padding-block: var(--space-xl);
    overflow: hidden;

    /* Markdown-rendered AI content in info cards */
    .info-card {
      strong {
        display: inline;
        color: var(--accent-primary, oklch(0.65 0.15 250));
        font-weight: 600;
      }
      code {
        font-size: 0.85em;
        padding: 0.1em 0.35em;
        border-radius: 4px;
        background: light-dark(oklch(0.95 0 0), oklch(0.25 0 0));
      }
    }

    /* === MAIN CONTENT === */
    .brief-content {
      flex: 1;
      min-inline-size: 300px;
      display: flex;
      flex-direction: column;
      gap: var(--space-lg);
    }

    .card {
      padding: var(--space-lg);
      border-radius: 12px;
    }

    /* === BRIEF HEADER === */
    .brief-header {
      position: relative;
      z-index: 1;
      display: flex;
      gap: var(--wire-gap);
      align-items: center;
      padding: var(--space-xl);
      border-radius: 12px;

      .brief-icon {
        display: flex;
        justify-content: center;
        align-items: center;
        inline-size: 48px;
        block-size: 48px;
        border-radius: 12px;
      }

      h2 {
        font-size: var(--fs-xl);
      }

      .company-name {
        font-weight: var(--fw-regular);
      }
    }

    /* === LABEL === */
    .label {
      display: block;
      font-size: var(--fs-xsmall);
      text-transform: uppercase;
      letter-spacing: 0.05em;
      margin-block-end: var(--space-xs);
    }

    /* === POSITION CARD === */
    .position-card {
      position: relative;
      z-index: 1;

      .position-header {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: var(--space-lg);
        margin-block-end: var(--space-xl);
      }

      .position-title {
        display: flex;
        gap: var(--wire-gap);
        align-items: flex-start;

        h3 {
          font-size: var(--fs-large);
        }

        .company {
          font-size: var(--fs-small);
        }
      }

      .position-icon {
        display: flex;
        justify-content: center;
        align-items: center;
        inline-size: 48px;
        block-size: 48px;
        border-radius: 12px;
      }

      .position-meta {
        text-align: end;
        font-size: var(--fs-xsmall);

        p {
          margin-block-end: var(--space-3xs);
        }
      }
    }

    /* === SECTION HEADER === */
    .section-header {
      position: relative;
      z-index: 1;
      display: flex;
      gap: var(--wire-gap);
      align-items: center;
      margin-block-end: var(--space-lg);

      .section-icon {
        display: flex;
        justify-content: center;
        align-items: center;
        inline-size: 32px;
        block-size: 32px;
        border-radius: 8px;
      }

      p {
        font-size: var(--fs-small);
      }
    }

    /* === ROLE SUMMARY TEXT === */
    .role-summary-text {
      position: relative;
      z-index: 1;
      font-size: var(--fs-body);
      line-height: 1.7;
      margin-block-end: var(--space-lg);
    }

    /* === INFO CARD === */
    .info-card {
      position: relative;
      z-index: 1;
      padding: var(--space-md);
      border-radius: 10px;
      margin-block-end: var(--space-lg);
      transition: all 0.2s ease-out;

      &:last-child {
        margin-block-end: 0;
      }

      p {
        font-size: var(--fs-small);
      }

      ul {
        display: flex;
        flex-direction: column;
        gap: var(--space-sm);

        li {
          font-size: var(--fs-small);
          padding-inline-start: var(--space-md);
          position: relative;

          &::before {
            content: '';
            position: absolute;
            inset-inline-start: 0;
            inset-block-start: 0.6em;
            inline-size: 5px;
            block-size: 5px;
            border-radius: 50%;
          }
        }
      }
    }

    /* === MOBILE RESPONSIVE === */
    @media (max-width: 640px) {
      padding-block: var(--space-lg);

      & > .page-header {
        gap: var(--space-md);

        .header-actions {
          width: 100%;

          .primary-button,
          .secondary-button {
            flex: 1;
            justify-content: center;
            padding: var(--space-sm) var(--space-md);
            font-size: var(--fs-small);
          }
        }
      }

      .brief-header {
        padding: var(--space-lg);

        .brief-icon {
          inline-size: 40px;
          block-size: 40px;
        }

        h2 {
          font-size: var(--fs-large);
        }
      }

      .card {
        padding: var(--space-md);
      }

      .position-card {
        .position-header {
          gap: var(--space-md);
          margin-block-end: var(--space-lg);
        }

        .position-icon {
          inline-size: 40px;
          block-size: 40px;
        }

        .position-title h3 {
          font-size: var(--fs-body);
        }

        .position-meta {
          text-align: start;
        }
      }

      .info-card {
        padding: var(--space-sm) var(--space-md);
        margin-block-end: var(--space-md);
      }
    }
  }
}

/* --- THEME --- */
@layer theme {
  .position-brief-page {
    .sidebar-header {
      padding-block-end: var(--space-md);
      border-block-end: 1px solid oklch(from var(--glass-tint) l c h / 0.06);

      p {
        color: var(--text-secondary);
      }
    }

    .ai-avatar {
      background: linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));
      color: var(--color-white);
      box-shadow: 0 4px 12px oklch(from var(--accent-primary) l c h / 0.3);
    }

    /* === BRIEF HEADER === */
    .brief-header {
      background: light-dark(oklch(100% 0 0 / 0.7), oklch(100% 0 0 / 0.04));
      border: 1px solid light-dark(oklch(0% 0 0 / 0.06), oklch(100% 0 0 / 0.08));

      .brief-icon {
        background: linear-gradient(
          135deg,
          light-dark(
            oklch(from var(--accent-primary) l c h / 0.15),
            oklch(from var(--accent-primary) l c h / 0.25)
          ),
          light-dark(
            oklch(from var(--accent-primary) l c h / 0.05),
            oklch(from var(--accent-primary) l c h / 0.1)
          )
        );
        border: 1px solid
          light-dark(
            oklch(from var(--accent-primary) l c h / 0.2),
            oklch(from var(--accent-primary) l c h / 0.3)
          );
        color: var(--accent-primary);
        box-shadow: 0 2px 12px
          light-dark(
            oklch(from var(--accent-primary) l c h / 0.08),
            oklch(from var(--accent-primary) l c h / 0.15)
          );
      }

      .company-name {
        color: var(--text-secondary);
      }
    }

    /* === POSITION CARD === */
    .position-card {
      .position-icon {
        background: linear-gradient(
          135deg,
          light-dark(
            oklch(from var(--accent-primary) l c h / 0.15),
            oklch(from var(--accent-primary) l c h / 0.25)
          ),
          light-dark(
            oklch(from var(--accent-primary) l c h / 0.05),
            oklch(from var(--accent-primary) l c h / 0.1)
          )
        );
        border: 1px solid
          light-dark(
            oklch(from var(--accent-primary) l c h / 0.2),
            oklch(from var(--accent-primary) l c h / 0.3)
          );
        color: var(--accent-primary);
        box-shadow: 0 2px 12px
          light-dark(
            oklch(from var(--accent-primary) l c h / 0.08),
            oklch(from var(--accent-primary) l c h / 0.15)
          );
      }

      .position-meta {
        color: var(--text-secondary);
      }

      .company {
        color: var(--text-secondary);
      }
    }

    /* === SECTION HEADER === */
    .section-header {
      padding-block-end: var(--space-md);
      border-block-end: 1px solid oklch(from var(--glass-tint) l c h / 0.06);

      p {
        color: var(--text-secondary);
      }
    }

    .role-summary-text {
      color: var(--text-secondary);
    }

    .section-icon {
      background: linear-gradient(
        135deg,
        light-dark(
          oklch(from var(--accent-primary) l c h / 0.15),
          oklch(from var(--accent-primary) l c h / 0.25)
        ),
        light-dark(
          oklch(from var(--accent-primary) l c h / 0.05),
          oklch(from var(--accent-primary) l c h / 0.1)
        )
      );
      border: 1px solid
        light-dark(
          oklch(from var(--accent-primary) l c h / 0.2),
          oklch(from var(--accent-primary) l c h / 0.3)
        );
      color: var(--accent-primary);
      box-shadow: 0 2px 12px
        light-dark(
          oklch(from var(--accent-primary) l c h / 0.08),
          oklch(from var(--accent-primary) l c h / 0.15)
        );
    }

    /* === INFO CARD === */
    .info-card {
      background: light-dark(oklch(100% 0 0 / 0.7), oklch(100% 0 0 / 0.03));
      border: 1px solid oklch(from var(--glass-tint) l c h / 0.06);

      &:hover {
        border-color: light-dark(
          oklch(from var(--accent-primary) l c h / 0.2),
          oklch(from var(--accent-primary) l c h / 0.25)
        );
        background: light-dark(oklch(100% 0 0 / 0.8), oklch(100% 0 0 / 0.05));
      }

      ul li::before {
        background: var(--accent-warm);
      }
    }

    /* Accent-tinted labels */
    .label {
      color: light-dark(
        oklch(from var(--accent-primary) calc(l - 0.05) calc(c - 0.03) h),
        oklch(from var(--accent-primary) calc(l + 0.1) calc(c - 0.03) h)
      );
    }

    /* Chips */
    .chip {
      backdrop-filter: blur(8px);
      transition: all 0.2s ease-out;

      &:hover {
        transform: translateY(-1px);
        box-shadow: 0 4px 12px oklch(0% 0 0 / 0.15);
      }
    }
  }
}
