.referral-cash-panel{box-sizing:border-box;min-width:0;margin:24px 0;padding:24px;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--card));color:hsl(var(--card-foreground))}
.referral-point-panels{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:20px;margin:24px 0;align-items:start}
.referral-point-panels>.referral-cash-panel{margin:0}
.referral-points-card{box-sizing:border-box;min-width:0;padding:24px;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--card));color:hsl(var(--card-foreground))}
.referral-points-card h2{margin:0 0 8px;font-size:21px;line-height:1.3;font-weight:800}
.referral-points-card p{margin:12px 0;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.referral-points-tag{display:inline-block;margin-bottom:14px;padding:5px 10px;border-radius:8px;font-size:12px;font-weight:700;background:#f59e0b15;color:#b45309}
.referral-purchase-panel .referral-points-tag{background:#10b98115;color:#047857}
.dark .referral-points-tag{color:#fbbf24}.dark .referral-purchase-panel .referral-points-tag{color:#34d399}
.referral-points-earned{padding:16px;margin:16px 0;border-radius:12px;background:hsl(var(--muted)/.55)}
.referral-points-earned>span{font-size:12px;color:hsl(var(--muted-foreground))}
.referral-points-earned>strong{display:block;margin-top:6px;font-size:28px;line-height:1.3}
.referral-points-rule{font-weight:500}
.referral-purchase-panel .referral-cash-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
.referral-registration-panel>button{margin-top:8px}
@media(max-width:900px){.referral-point-panels{grid-template-columns:minmax(0,1fr)}}
@media(max-width:640px){.referral-points-card{padding:16px}.referral-point-panels{gap:16px}.referral-registration-panel>button{width:100%}.referral-purchase-panel>.referral-cash-actions>button{flex:1 1 150px}}
.referral-cash-panel h2,.referral-cash-dialog h2{margin:0 0 8px;font-size:21px;line-height:1.3;font-weight:800}.referral-cash-panel p,.referral-cash-dialog p{margin:8px 0;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.referral-cash-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.referral-cash-note{color:hsl(var(--muted-foreground))}.referral-cash-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:20px 0}.referral-cash-stats>div{padding:16px;background:hsl(var(--muted)/.55);border-radius:12px}.referral-cash-stats span{display:block;font-size:12px;color:hsl(var(--muted-foreground))}.referral-cash-stats strong{display:block;margin-top:6px;font-size:24px;color:hsl(var(--foreground))}
.referral-cash-primary,.referral-cash-secondary{min-height:42px;padding:10px 16px;border-radius:10px;font-weight:700;font-size:14px;cursor:pointer;border:1px solid hsl(var(--border));white-space:normal}.referral-cash-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.referral-cash-secondary{background:hsl(var(--background));color:hsl(var(--foreground))}.referral-cash-primary:disabled,.referral-cash-secondary:disabled{opacity:.5;cursor:not-allowed}.referral-cash-panel button:focus-visible,.referral-cash-dialog button:focus-visible{outline:3px solid hsl(var(--ring));outline-offset:3px}.referral-cash-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.referral-cash-table{max-width:100%;overflow-x:auto;margin-top:16px}.referral-cash-table table{width:100%;min-width:640px;text-align:left;border-collapse:collapse;font-size:13px}.referral-cash-table caption{text-align:left;font-weight:700;padding:8px}.referral-cash-table th{background:hsl(var(--muted)/.55);font-weight:700}.referral-cash-table td,.referral-cash-table th{padding:14px 12px;border-bottom:1px solid hsl(var(--border));vertical-align:top}.referral-cash-status{display:inline-block;border-radius:8px;padding:5px 8px;background:hsl(var(--muted));font-size:12px}.referral-cash-status.paid{background:#d1fae5;color:#065f46}.referral-cash-status.rejected{background:#fee2e2;color:#991b1b}.referral-cash-iban{font-family:monospace;overflow-wrap:anywhere}.referral-cash-error{color:#dc2626}
.referral-cash-dialog{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 40px);margin:auto;overflow-y:auto;padding:24px;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--card));color:hsl(var(--card-foreground));box-shadow:0 20px 80px #0005}.referral-cash-dialog::backdrop{background:#0008}.referral-cash-dialog label{display:block;margin:14px 0;font-size:14px;font-weight:600}.referral-cash-dialog input:not([type=checkbox]),.referral-cash-dialog textarea{box-sizing:border-box;display:block;width:100%;min-height:44px;padding:10px;margin-top:6px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit}.referral-cash-dialog select{box-sizing:border-box;display:block;width:100%;min-height:44px;padding:10px;margin-top:6px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit}.referral-cash-dialog textarea{min-height:80px;resize:vertical}.referral-cash-dialog .referral-cash-check{display:flex;gap:10px;align-items:flex-start;font-weight:400;line-height:1.5}.referral-cash-check input{margin-top:4px;flex-shrink:0;width:18px;height:18px;accent-color:hsl(var(--primary))}
@media(max-width:640px){.referral-cash-panel{padding:16px}.referral-cash-heading{align-items:stretch;flex-direction:column}.referral-cash-heading>button{width:100%}.referral-cash-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.referral-cash-stats strong{font-size:20px}.referral-cash-stats>div{padding:12px}.referral-cash-dialog{padding:18px}}
.referral-simulation-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:0 0 18px;padding:12px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--muted)/.45)}
.referral-simulation-controls>span{font-size:12px;font-weight:700;color:hsl(var(--foreground))}
.referral-simulation-controls button{font-size:12px;min-height:38px;padding:8px 12px}
.referral-simulation-notice{padding:14px;margin:0 0 18px;border:1px solid hsl(var(--primary)/.4);border-radius:12px;background:hsl(var(--primary)/.08);color:hsl(var(--foreground))}
.referral-simulation-notice>strong{font-size:13px}
.referral-simulation-notice>p{font-size:12px;margin:6px 0 10px}
.referral-simulation-notice>button{font-size:12px;min-height:36px;padding:7px 10px}
.referral-simulation-actions{border:1px solid hsl(var(--border));border-radius:12px;padding:14px;margin-top:16px;background:hsl(var(--muted)/.35);font-size:13px}
@media(max-width:640px){.referral-simulation-controls button{width:100%}.referral-simulation-notice>button{width:100%}.referral-simulation-actions .referral-cash-actions>button{width:100%}}
