.eh-affiliate-wrap { max-width: 760px; }
.eh-affiliate-state { display: none; }
.eh-card { background: #fff; border: 1px solid #e0e0e0; border-radius: 4px; padding: 1.25rem 1.5rem; margin-bottom: 1.5rem; }
.eh-card h3 { margin-top: 0; }
.eh-affiliate-link-row { display: flex; gap: .5rem; align-items: center; }
.eh-affiliate-link-row .input-text { flex: 1; font-size: .85rem; }
.eh-affiliate-stats { display: flex; gap: 1rem; }
.eh-stat { flex: 1; text-align: center; }
.eh-stat span { display: block; font-size: 1.75rem; font-weight: 700; color: #0092b0; }
.eh-stat small { font-size: .75rem; color: #666; }
.eh-affiliate-earnings { display: flex; gap: 1rem; }
.eh-earning { flex: 1; }
.eh-earning label { display: block; font-size: .75rem; color: #666; margin-bottom: .25rem; }
.eh-earning span { font-size: 1.1rem; font-weight: 600; }
.eh-table { width: 100%; border-collapse: collapse; font-size: .875rem; }
.eh-table th, .eh-table td { padding: .5rem .75rem; border-bottom: 1px solid #eee; text-align: left; }
.eh-table thead th { background: #f8f8f8; font-weight: 600; }
.eh-empty { text-align: center; color: #999; padding: 1.5rem !important; }
.eh-badge { display: inline-block; padding: .2em .6em; border-radius: 3px; font-size: .75rem; font-weight: 600; text-transform: uppercase; }
.eh-badge--pending   { background: #fff3cd; color: #856404; }
.eh-badge--confirmed { background: #d1e7dd; color: #0a3622; }
.eh-badge--paid      { background: #cfe2ff; color: #084298; }
.eh-badge--rejected  { background: #f8d7da; color: #842029; }
.eh-notice { display: flex; align-items: center; gap: .5rem; padding: .75rem 1rem; border-radius: 4px; }
.eh-notice--info  { background: #e0f4f8; color: #0c4a6e; border-left: 4px solid #0092b0; }
.eh-notice--error { background: #fde8e8; color: #7b1d1d; border-left: 4px solid #dc2626; }
.eh-reject-notes { margin-left: .5rem; font-style: italic; }
.eh-msg { padding: .5rem .75rem; border-radius: 3px; }
.eh-msg--success { background: #d1e7dd; color: #0a3622; }
.eh-msg--error   { background: #f8d7da; color: #842029; }
.eh-form p { margin-bottom: .75rem; }
.eh-form label { display: block; font-weight: 600; margin-bottom: .25rem; font-size: .875rem; }
.eh-form .input-text { width: 100%; max-width: 400px; }
.eh-pagination { display: flex; gap: .5rem; margin-top: .75rem; }
.spin { animation: spin 1.2s linear infinite; display: inline-block; }
@keyframes spin { to { transform: rotate(360deg); } }
