/* Board portal — small additions on top of the site design system. */
.portal-nav { display: flex; gap: 1rem 1.5rem; flex-wrap: wrap; margin: 1rem 0 2rem; }
.portal-nav a { font-weight: 600; }
.portal-table { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
.portal-table th, .portal-table td { text-align: left; padding: 0.5rem 0.75rem; border-bottom: 1px solid rgba(0, 0, 0, 0.12); vertical-align: top; }
.badge { display: inline-block; padding: 0.1rem 0.6rem; border-radius: 999px; font-size: 0.8rem; font-weight: 600; white-space: nowrap; }
.badge--new { background: #fde68a; }
.badge--in_progress { background: #bfdbfe; }
.badge--done { background: #bbf7d0; }
.badge--paid { background: #bbf7d0; }
.badge--unpaid { background: #fecaca; }
.portal-error { background: #fee2e2; border: 1px solid #ef4444; padding: 0.75rem 1rem; border-radius: 8px; margin: 1rem 0; }
.portal-error:empty { display: none; }
.portal-actions { display: flex; gap: 0.75rem; flex-wrap: wrap; align-items: end; margin: 1rem 0; }
.portal-actions > div { display: flex; flex-direction: column; gap: 0.25rem; }
