.p2b-flex { display: flex; }
.p2b-between { justify-content: space-between; }
.p2b-center { align-items: center; }
.p2b-gap-8 { gap: 8px; }
.p2b-gap-12 { gap: 12px; }
.p2b-mt-16 { margin-top: 16px; }
.p2b-mb-16 { margin-bottom: 16px; }
.p2b-text-center { text-align: center; }
.p2b-muted { color: var(--p2b-muted); }
.p2b-danger { color: var(--p2b-red); }
.p2b-success { color: var(--p2b-green); }
.p2b-button { display: inline-flex; justify-content: center; align-items: center; gap: 8px; min-height: 44px; padding: 10px 15px; border: 1px solid transparent; border-radius: 12px; background: var(--p2b-blue); color: #fff; font-weight: 800; text-decoration: none; }
.p2b-button:hover { background: var(--p2b-blue-dark); text-decoration: none; }
.p2b-button-secondary { background: #fff; color: var(--p2b-text); border-color: var(--p2b-border); }
.p2b-button-danger { background: var(--p2b-red); }
.p2b-button-block { width: 100%; }
.p2b-badge { display: inline-flex; border-radius: 999px; padding: 4px 8px; font-size: 12px; font-weight: 800; background: var(--p2b-soft); }
.p2b-status-published, .p2b-status-active, .p2b-status-approved { background: #e8f8ef; color: #087543; }
.p2b-status-pending, .p2b-status-scheduled { background: #fff5d9; color: #8b6200; }
.p2b-status-rejected, .p2b-status-trash, .p2b-status-suspended { background: #ffeded; color: #b51f1f; }
