    .ap-card-body {
      padding: 1.35rem;
    }

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

    .btn-ap-danger:hover {
      background: #B91C1C;
      border-color: #B91C1C;
      color: #fff;
    }

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

    /* Modal trigger cards */
    .ap-modal-trigger {
      border: 1px solid var(--ap-border);
      border-radius: var(--ap-radius-sm);
      padding: 1.1rem;
      height: 100%;
      display: flex;
      flex-direction: column;
    }

    .ap-modal-trigger-icon {
      width: 40px;
      height: 40px;
      border-radius: var(--ap-radius-sm);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.1rem;
      margin-bottom: .7rem;
    }

    .ap-modal-trigger-name {
      font-weight: 700;
      color: var(--ap-text-strong);
      font-size: .88rem;
      margin-bottom: .25rem;
    }

    .ap-modal-trigger-desc {
      font-size: .78rem;
      color: var(--ap-secondary);
      margin-bottom: .9rem;
      flex: 1;
    }

    /* Modal internals */
    .modal-content {
      border-radius: var(--ap-radius);
      border: 1px solid var(--ap-border);
      background: var(--ap-surface);
    }

    .modal-header,
    .modal-footer {
      border-color: var(--ap-border);
    }

    .modal-title {
      color: var(--ap-text-strong);
      font-weight: 700;
    }

    .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);
    }

    .ap-confirm-icon {
      width: 64px;
      height: 64px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.8rem;
      margin: 0 auto 1rem;
    }

    .ap-gallery-thumb {
      border-radius: var(--ap-radius-sm);
      overflow: hidden;
      cursor: pointer;
      aspect-ratio: 1/1;
    }

    .ap-gallery-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform .2s ease;
    }

    .ap-gallery-thumb:hover img {
      transform: scale(1.06);
    }

    .ap-video-frame {
      aspect-ratio: 16/9;
      background: #0F172A;
      border-radius: var(--ap-radius-sm);
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      position: relative;
      overflow: hidden;
    }

    .ap-video-frame img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      opacity: .55;
    }

    .ap-play-btn {
      width: 64px;
      height: 64px;
      border-radius: 50%;
      background: rgba(255, 255, 255, .15);
      border: 2px solid #fff;
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.6rem;
      position: relative;
      z-index: 1;
      backdrop-filter: blur(4px);
    }

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

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

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

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

    .ap-fs-08 {
      font-size: .8rem;
    }

    .ap-fs-25 {
      font-size: 2.5rem;
    }

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

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

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

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

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

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

    /* Card head description */
    .ap-card-head-desc {
      font-size: .78rem;
      color: var(--ap-secondary);
      margin: .15rem 0 0;
    }

    /* Icon color variants (used for modal triggers & confirmations) */
    .ap-ic-primary {
      background: var(--ap-primary-100);
      color: var(--ap-primary);
    }

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

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

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

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

    .ap-ic-violet {
      background: #EDE9FE;
      color: #7C74F0;
    }

    .ap-ic-support {
      background: #F1F5F9;
      color: #475569;
    }

    /* Gallery main image */
    .ap-gallery-main-img {
      aspect-ratio: 16/9;
      object-fit: cover;
    }

    /* Fullscreen modal centered description */
    .ap-fullscreen-desc {
      color: var(--ap-secondary);
      max-width: 420px;
      margin: 0 auto;
    }

    /* Footer */
    .ap-footer {
      color: var(--ap-secondary);
    }
