    .btn-ap-primary {
      background: var(--ap-primary);
      border-color: var(--ap-primary);
      color: #fff;
      font-weight: 600;
      font-size: .85rem;
      padding: 8px;
    }

    /* Profile header */
    .ap-profile-card {
      overflow: hidden;
    }

    .ap-profile-cover {
      height: 150px;
      background: linear-gradient(120deg, #3730A3 0%, var(--ap-primary) 55%, #7C74F0 100%);
      position: relative;
    }

    .ap-profile-body {
      padding: 0 1.5rem 1.5rem;
      position: relative;
    }

    .ap-profile-avatar {
      width: 104px;
      height: 104px;
      border-radius: 50%;
      object-fit: cover;
      border: 4px solid var(--ap-surface);
      margin-top: -52px;
      background: var(--ap-surface);
    }

    .ap-profile-top {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: flex-end;
      gap: 1rem;
      margin-bottom: 1.1rem;
    }

    .ap-profile-name {
      font-size: 1.35rem;
      margin-bottom: .15rem;
      margin-top: 10px;
    }

    .ap-profile-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 1.1rem;
      font-size: .83rem;
      color: var(--ap-secondary);
      margin-top: .4rem;
    }

    .ap-profile-meta span {
      display: inline-flex;
      align-items: center;
      gap: .35rem;
    }

    /* Stat widgets */
    .ap-stat {
      padding: 1.2rem 1.35rem;
      display: flex;
      align-items: center;
      gap: 1rem;
    }

    .ap-stat-icon {
      width: 44px;
      height: 44px;
      border-radius: var(--ap-radius-sm);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.2rem;
      flex-shrink: 0;
    }

    .ap-stat-label {
      font-size: .78rem;
      color: var(--ap-secondary);
      font-weight: 600;
    }

    .ap-stat-value {
      font-size: 1.35rem;
      font-weight: 800;
      color: var(--ap-text-strong);
      letter-spacing: -.02em;
    }

    /* Tabs */
    .ap-tabs-nav {
      display: flex;
      gap: .25rem;
      border-bottom: 1px solid var(--ap-border);
      padding: 0 1.25rem;
    }

    .ap-tab-item {
      padding: .9rem .9rem;
      font-size: .85rem;
      font-weight: 600;
      color: var(--ap-secondary);
      border-bottom: 2px solid transparent;
      cursor: pointer;
    }

    .ap-tab-item:hover {
      color: var(--ap-text-strong);
    }

    .ap-tab-item.active {
      color: var(--ap-primary);
      border-bottom-color: var(--ap-primary);
    }

    .ap-tab-panel {
      display: none;
    }

    .ap-tab-panel.active {
      display: block;
      animation: apFade .2s ease;
    }

    @keyframes apFade {
      from {
        opacity: 0;
        transform: translateY(4px);
      }

      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    .ap-info-row {
      display: flex;
      justify-content: space-between;
      padding: .6rem 0;
      border-bottom: 1px solid var(--ap-border);
      font-size: .85rem;
    }

    .ap-info-row:last-child {
      border-bottom: none;
    }

    .ap-info-row .label {
      color: var(--ap-secondary);
    }

    .ap-info-row .value {
      color: var(--ap-text-strong);
      font-weight: 600;
      text-align: right;
    }

    .ap-skill-tag {
      font-size: .72rem;
      font-weight: 600;
      padding: .25rem .6rem;
      border-radius: 6px;
      background: var(--ap-primary-100);
      color: var(--ap-primary);
    }

    .ap-project-mini {
      display: flex;
      align-items: center;
      gap: .8rem;
      padding: .8rem 0;
      border-bottom: 1px solid var(--ap-border);
    }

    .ap-project-mini:last-child {
      border-bottom: none;
    }

    .ap-project-mini-icon {
      width: 38px;
      height: 38px;
      border-radius: var(--ap-radius-sm);
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      flex-shrink: 0;
    }

    .form-label {
      font-size: .82rem;
      font-weight: 600;
      color: var(--ap-text-strong);
    }

    .form-control,
    .form-select {
      background: var(--ap-bg);
      border: 1px solid var(--ap-border);
      border-radius: var(--ap-radius-sm);
      font-size: .85rem;
      color: var(--ap-text-strong);
    }

    .form-control:focus,
    .form-select:focus {
      border-color: var(--ap-primary);
      box-shadow: 0 0 0 3px var(--ap-primary-100);
    }

    /* ============ Utility classes (extracted from inline styles) ============ */

    /* Font sizes */
    .ap-fs-13 {
      font-size: 1.3rem;
    }

    .ap-fs-085 {
      font-size: .85rem;
    }

    .ap-fs-087 {
      font-size: .87rem;
    }

    .ap-fs-06 {
      font-size: .6rem;
    }

    /* Text colors */
    .ap-color-strong {
      color: var(--ap-text-strong);
    }

    .ap-color-secondary {
      color: var(--ap-secondary);
    }

    /* Transparent button */
    .ap-btn-transparent {
      background: transparent;
    }

    /* Small dropdown menu */
    .ap-menu-sm {
      font-size: .85rem;
    }

    /* Icon button with border */
    .ap-icon-btn-bordered {
      border: 1px solid var(--ap-border);
    }

    /* Stat icon background variants */
    .ap-ic-primary {
      background: var(--ap-primary-100);
      color: var(--ap-primary);
    }

    .ap-ic-success {
      background: var(--ap-success-100);
      color: var(--ap-success);
    }

    .ap-ic-info {
      background: var(--ap-info-100);
      color: var(--ap-info);
    }

    .ap-ic-warning {
      background: var(--ap-warning-100);
      color: var(--ap-warning);
    }

    /* Overview layout */
    .ap-overview-about {
      border-color: var(--ap-border) !important;
    }

    .ap-about-text {
      color: var(--ap-text);
      font-size: .87rem;
      line-height: 1.6;
    }

    .ap-dot-secondary {
      background: var(--ap-secondary);
    }

    /* Timeline event text */
    .ap-timeline-text {
      font-weight: 600;
      color: var(--ap-text-strong);
      font-size: .85rem;
    }

    /* Project mini icon backgrounds (fixed brand colors) */
    .ap-proj-bg-indigo {
      background: #4F46E5;
    }

    .ap-proj-bg-sky {
      background: #0EA5E9;
    }

    .ap-proj-bg-amber {
      background: #F59E0B;
    }

    /* Project mini title */
    .ap-project-mini-title {
      font-weight: 700;
      color: var(--ap-text-strong);
      font-size: .87rem;
    }

    .ap-fill-danger {
      background: var(--ap-danger);
    }

    .ap-w-72 {
      width: 72%;
    }

    .ap-w-45 {
      width: 45%;
    }

    .ap-w-28 {
      width: 28%;
    }

    /* Project percent value */
    .ap-project-percent {
      font-weight: 700;
      color: var(--ap-text-strong);
      font-size: .85rem;
    }
