/* Partner programme pages (public apply page, partner dashboard, admin) */
.pp-hero { background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 60%, #0891b2 100%); color: #fff; border-radius: var(--radius-lg); padding: 32px 28px; margin-bottom: 20px; }
.pp-hero h1 { color: #fff; margin: 0 0 8px; font-size: clamp(26px, 4vw, 36px); }
.pp-hero p { color: rgba(255, 255, 255, .92); margin: 0; font-size: 17px; max-width: 720px; }
.pp-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; margin: 0 0 20px; padding: 0; list-style: none; counter-reset: pps; }
.pp-steps li { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 16px; counter-increment: pps; position: relative; }
.pp-steps li::before { content: counter(pps); display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--primary-soft); color: var(--primary-dark); font-weight: 700; margin-bottom: 8px; }
.pp-steps strong { display: block; margin-bottom: 4px; }
.pp-steps span { color: var(--ink-soft); font-size: 14px; }
.pp-example { background: var(--success-soft); border: 1px solid #b7ebd6; border-radius: var(--radius); padding: 14px 16px; margin: 0 0 20px; }
.pp-example table { width: 100%; max-width: 460px; border-collapse: collapse; margin-top: 6px; }
.pp-example td { padding: 3px 0; }
.pp-example td:last-child { text-align: right; font-variant-numeric: tabular-nums; }
.pp-example tr.total td { border-top: 1px solid #9fdcc3; font-weight: 700; padding-top: 6px; }
.pp-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 20px; align-items: start; }
@media (max-width: 900px) { .pp-layout { grid-template-columns: 1fr; } }

.pp-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; margin-bottom: 18px; }
.pp-stats .card { margin: 0; padding: 16px 18px; }
.pp-stats strong { display: block; font-size: 26px; line-height: 1.15; font-variant-numeric: tabular-nums; }
.pp-stats span { color: var(--ink-soft); font-size: 13.5px; }
.pp-stats .hl { background: var(--primary-soft); border-color: #d6dafd; }
.pp-stats .hl strong { color: var(--primary-dark); }

.pp-code { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; }
.pp-code-value { font-size: 28px; font-weight: 800; letter-spacing: .06em; background: var(--surface-2); border: 2px dashed var(--border-strong); border-radius: var(--radius); padding: 8px 18px; }
.pp-share { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.copy-row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.copy-row input { flex: 1 1 260px; min-width: 0; }

.pp-progress { height: 12px; background: var(--surface-2); border-radius: 99px; overflow: hidden; margin: 8px 0 6px; }
.pp-progress > span { display: block; height: 100%; background: linear-gradient(90deg, #10b981, #059669); border-radius: 99px; }

.pp-checklist { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.pp-checklist li { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); }
.pp-checklist li.done { background: var(--success-soft); border-color: #b7ebd6; }
.pp-checklist .ic { flex: 0 0 auto; }
.pp-checklist a { font-weight: 600; }

.badge.pp-earned, .badge.pp-approved, .badge.pp-verified, .badge.pp-paid { background: var(--success-soft); color: var(--success-dark); }
.badge.pp-in_payout, .badge.pp-pending, .badge.pp-submitted, .badge.pp-requested { background: var(--warning-soft); color: var(--warning-dark); }
.badge.pp-cancelled, .badge.pp-rejected, .badge.pp-suspended, .badge.pp-none { background: var(--danger-soft); color: var(--danger-dark); }
.money { font-variant-numeric: tabular-nums; white-space: nowrap; }
td.money, th.money { text-align: right; }

.pp-agreement { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 24px 26px; max-height: 560px; overflow: auto; line-height: 1.6; }
.pp-agreement h2 { margin-top: 0; font-size: 20px; }
.pp-agreement h3 { font-size: 15.5px; margin: 18px 0 6px; }
.pp-agreement p { margin: 0 0 8px; }
.pp-signed { margin-top: 18px; padding-top: 12px; border-top: 1px solid var(--border); font-size: 14px; color: var(--ink-soft); }
.pp-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; }
.pp-tabs a { padding: 7px 12px; border-radius: 99px; border: 1px solid var(--border); background: var(--surface); font-weight: 600; font-size: 14px; text-decoration: none; color: var(--ink-soft); }
.pp-tabs a.active { background: var(--primary); border-color: var(--primary); color: #fff; }
.pp-kv { display: grid; grid-template-columns: max-content 1fr; gap: 6px 16px; margin: 0; }
.pp-kv dt { color: var(--ink-soft); }
.pp-kv dd { margin: 0; overflow-wrap: anywhere; }
.pp-inline-form { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; }
.pp-inline-form .field { margin: 0; }
.hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

@media print {
  .admin-sidebar, .admin-topbar, .no-print, .site-footer, footer { display: none !important; }
  .admin-main, main.page { margin: 0 !important; padding: 0 !important; }
  .pp-agreement { max-height: none; overflow: visible; border: 0; padding: 0; }
}
.pp-benefit { background: linear-gradient(135deg, var(--success-soft), #fff); border: 1px solid #b7ebd6; border-radius: var(--radius-lg); padding: 22px 22px 16px; margin: 0 0 20px; }
.pp-benefit-ic { font-size: 30px; line-height: 1; margin-bottom: 8px; }
.pp-benefit h2 { margin: 0 0 6px; font-size: 22px; color: var(--success-dark); }
.pp-benefit p { margin: 0 0 10px; color: var(--ink-soft); }
.pp-benefit ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
.pp-benefit li::before { content: '✓'; color: var(--success); font-weight: 800; margin-right: 8px; }
