*{box-sizing:border-box}body{margin:0;background:#f6f8fb;color:#0f172a;font:15px system-ui,-apple-system,Segoe UI,sans-serif}header{background:#0f172a;color:white;padding:18px max(18px,calc((100vw - 1100px)/2));display:flex;align-items:center;justify-content:space-between}header strong{font-size:19px}header small{display:block;color:#a8b4c5;font-size:12px;margin-top:3px}header a{color:#cbd5e1;font-size:13px}main{max-width:1100px;margin:auto;padding:20px 14px 80px}.toolbar,.filters,.nav{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.tabs{display:flex;gap:4px;background:#e8edf3;border-radius:10px;padding:4px}button{border:0;border-radius:8px;padding:10px 14px;cursor:pointer;background:#e8edf3;color:#1e293b;font-weight:600}button.active,.login button{background:#0f172a;color:#fff}input[type=date],input[type=text],input[type=password],#search{border:1px solid #d6dfe8;border-radius:9px;padding:11px;background:white;min-width:0}#search{flex:1;max-width:430px}.muted{color:#64748b;font-size:12px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.cards article{background:white;border:1px solid #e2e8f0;border-radius:13px;padding:18px;min-width:0}.cards span{display:block;color:#64748b;font-size:13px;margin-bottom:8px}.cards strong{font-size:clamp(20px,3vw,30px);font-variant-numeric:tabular-nums;word-break:break-word}.positive{color:#13803d!important}.negative{color:#c62828!important}.nav{justify-content:flex-start;margin:20px 0 14px;border-bottom:1px solid #dce3eb;padding-bottom:10px}.filters{margin-bottom:12px}.filters label{font-size:13px;color:#475569}.campaign,.offer,.trend{background:#fff;border:1px solid #e2e8f0;border-radius:11px;padding:14px 15px;margin-bottom:9px}.campaign-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.campaign-head strong{overflow-wrap:anywhere;font-size:14px}.campaign-head span{font-size:12px;white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.stats small{display:block;color:#64748b;font-size:11px}.stats b{display:block;margin-top:4px;font-size:13px;font-variant-numeric:tabular-nums}.foot{margin-top:28px}.foot h3{font-size:15px}.login{max-width:380px;margin:14vh auto;background:white;border:1px solid #e2e8f0;border-radius:14px;padding:28px}.login form{display:grid;gap:12px}.login input{width:100%}.bad{color:#c62828}.empty{padding:30px;text-align:center;color:#64748b;background:white;border-radius:12px}@media(max-width:650px){.cards{grid-template-columns:repeat(2,1fr);gap:9px}.cards article{padding:14px}.cards strong{font-size:23px}.stats{gap:5px}.stats b{font-size:12px}.toolbar{align-items:stretch}.toolbar input{flex:1}.campaign{padding:13px}header{padding:16px}}

/* Affiliate Analytics v5: stable, subtle campaign card colors. Append to style.css. */
/* Colors distinguish individual campaign IDs, not profit or ROI. */
.campaign.campaign-tint-0 { --card-tint: 59,130,246; }
.campaign.campaign-tint-1 { --card-tint: 16,185,129; }
.campaign.campaign-tint-2 { --card-tint: 168,85,247; }
.campaign.campaign-tint-3 { --card-tint: 245,158,11; }
.campaign.campaign-tint-4 { --card-tint: 6,182,212; }
.campaign.campaign-tint-5 { --card-tint: 236,72,153; }
.campaign.campaign-tint-6 { --card-tint: 132,204,22; }
.campaign.campaign-tint-7 { --card-tint: 99,102,241; }
.campaign[class*="campaign-tint-"] {
  background: linear-gradient(90deg,rgba(var(--card-tint),.105),rgba(var(--card-tint),.025)) !important;
  border-left: 4px solid rgb(var(--card-tint)) !important;
  border-radius: 12px;
  transition: background .15s ease, transform .15s ease;
}
.campaign[class*="campaign-tint-"]:hover,
.campaign[class*="campaign-tint-"]:focus-visible {
  background: linear-gradient(90deg,rgba(var(--card-tint),.19),rgba(var(--card-tint),.06)) !important;
}
/* Paused campaigns remain identifiable but look quieter. */
.campaign.campaign-is-paused { border-left-style: dashed !important; }
.campaign.campaign-is-paused .campaign-head > span { opacity: .7; }
/* Retain existing green/red profit and ROI indicators. */
