/* ================================================================
   SPORTA v4 — Components (additional overrides)
   ================================================================ */

/* ── Notification item ── */
.notif-item{display:flex;align-items:flex-start;gap:var(--s4);padding:var(--s4) var(--s5);cursor:pointer;transition:background var(--t-fast);position:relative;border-bottom:1px solid var(--border);}
.notif-item:last-child{border-bottom:none;}
.notif-item:hover{background:var(--bg-hover);}
.notif-item.unread::before{content:'';position:absolute;left:var(--s3);top:50%;transform:translateY(-50%);width:6px;height:6px;background:var(--purple);border-radius:50%;}
.notif-icon-wrap{width:38px;height:38px;border-radius:var(--r-full);background:var(--bg-input);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.notif-text{font-size:14px;color:var(--text-700);line-height:1.4;}
.notif-text strong{color:var(--text-900);}
.notif-time{font-family:var(--font-ui);font-size:11px;color:var(--text-400);margin-top:3px;}

/* ── Profile ── */
.profile-cover{height:150px;background:var(--text-900);position:relative;overflow:hidden;}
.profile-cover-art{position:absolute;inset:0;background:radial-gradient(circle at 30% 50%,rgba(203,255,0,0.18) 0%,transparent 60%),radial-gradient(circle at 75% 30%,rgba(124,58,237,0.14) 0%,transparent 60%);}
.profile-body{padding:0 var(--s5) var(--s6);position:relative;margin-top:-44px;}
.profile-av-ring{display:inline-block;padding:3px;background:linear-gradient(135deg,var(--lime-dark),#00A86B);border-radius:50%;margin-bottom:var(--s4);}
.profile-av-inner{border:3px solid white;border-radius:50%;}
.profile-name{font-family:var(--font-ui);font-size:20px;font-weight:800;}
.profile-handle{font-size:13px;color:var(--text-500);margin-top:2px;}
.profile-bio{font-size:14px;color:var(--text-700);line-height:1.5;margin:var(--s3) 0;}
.profile-stats{display:flex;gap:var(--s6);margin-bottom:var(--s5);}
.pstat-num{font-family:var(--font-ui);font-size:18px;font-weight:800;display:block;}
.pstat-lbl{font-size:12px;color:var(--text-500);}

/* ── Teams ── */
.team-card{background:white;border-radius:var(--r-xl);box-shadow:var(--shadow-sm);padding:var(--s5);cursor:pointer;transition:all var(--t-base);display:flex;flex-direction:column;gap:var(--s4);}
.team-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}
.team-logo-circle{width:48px;height:48px;border-radius:var(--r-md);background:var(--bg-input);display:flex;align-items:center;justify-content:center;font-size:24px;border:1px solid var(--border);flex-shrink:0;}

/* ── Match card (athlete feed) ── */
.match-card{background:white;border-radius:var(--r-xl);box-shadow:var(--shadow-sm);padding:var(--s5);cursor:pointer;transition:all var(--t-base);}
.match-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}
.match-comp{font-family:var(--font-ui);font-size:11px;font-weight:600;color:var(--text-400);}
.match-body{display:flex;align-items:center;gap:var(--s4);margin-top:var(--s3);}
.match-team{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--s2);}
.match-team-logo{width:44px;height:44px;border-radius:var(--r-md);background:var(--bg-input);display:flex;align-items:center;justify-content:center;font-size:22px;border:1px solid var(--border);}
.match-team-name{font-family:var(--font-ui);font-size:12px;font-weight:700;text-align:center;}
.match-team-name.winner{color:var(--green);}
.match-center{text-align:center;min-width:90px;}
.match-score{font-family:var(--font-ui);font-size:32px;font-weight:900;letter-spacing:-0.04em;display:flex;align-items:center;justify-content:center;gap:6px;}
.match-score-sep{color:var(--text-300);font-size:20px;font-weight:400;}
.match-status{font-family:var(--font-ui);font-size:11px;font-weight:700;margin-top:4px;}
.match-status.live{color:var(--red);}
.match-status.ft{color:var(--text-400);}
.match-status.soon{color:var(--blue);}
.match-status.pen{color:var(--purple);}
.match-status.wo{color:var(--orange);}

/* ── Metric card (dashboard) ── */
.metric-card{background:white;border-radius:var(--r-xl);box-shadow:var(--shadow-sm);padding:var(--s5);display:flex;align-items:center;gap:var(--s4);}
.metric-icon-wrap{width:44px;height:44px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.mi-lime{background:var(--lime-soft);}
.mi-red{background:var(--red-soft);}
.mi-blue{background:var(--blue-soft);}
.mi-purple{background:var(--purple-soft);}
.mi-green{background:var(--green-soft);}
.metric-val{font-family:var(--font-ui);font-size:26px;font-weight:900;line-height:1;}
.metric-lbl{font-size:12px;color:var(--text-500);margin-top:2px;}

/* ── Results mini ── */
.result-mini{padding:var(--s3) var(--s4);border-bottom:1px solid var(--border);}
.result-mini:last-child{border-bottom:none;}
.result-mini-comp{font-size:11px;color:var(--text-400);font-family:var(--font-ui);margin-bottom:var(--s2);}
.result-mini-teams{display:flex;align-items:center;justify-content:center;gap:var(--s3);}
.result-mini-team{font-family:var(--font-ui);font-size:14px;font-weight:700;flex:1;}
.result-mini-team.right{text-align:right;}
.result-mini-score{background:var(--text-900);color:white;font-family:var(--font-ui);font-size:13px;font-weight:800;padding:4px 12px;border-radius:var(--r-full);}

/* ── Champ card (athlete list) ── */
.champ-card-athlete{background:white;border:1.5px solid var(--border);border-radius:var(--r-xl);overflow:hidden;cursor:pointer;transition:all var(--t-base);}
.champ-card-athlete:hover{box-shadow:var(--shadow-md);border-color:var(--border-md);}
.champ-card-banner{height:100px;background:var(--text-900);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.champ-card-banner-bg{position:absolute;inset:0;background:linear-gradient(135deg,rgba(203,255,0,0.15) 0%,transparent 60%);}
.champ-card-body{padding:var(--s4) var(--s5);}
