/* Командный слой — стили только для нового.
   Токены (--paper, --mint, --r-lg, --mono …) берутся из основного app.css:
   этот файл подключается ПОСЛЕ него и ничего в нём не переопределяет. */

.teams{display:flex;flex-direction:column;gap:18px}

/* ---------- сезон ---------- */
.season-bar{display:flex;align-items:center;gap:12px;justify-content:space-between;
  background:var(--violet-bg);border:1.5px solid var(--violet);border-radius:var(--r-lg);padding:12px 16px}
.season-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.season-txt b{font-size:15.5px}
.season-txt span{font-size:12.5px;color:var(--ink-soft);font-family:var(--mono)}
.season-left{font-size:12.5px;font-weight:600;color:var(--violet-dp);text-align:right;white-space:nowrap}

/* ---------- карточка команды ---------- */
.team-card{display:flex;flex-direction:column;gap:14px}
.team-head{display:flex;align-items:flex-start;gap:14px;justify-content:space-between}
.team-id{min-width:0}
.team-name{font-size:20px;font-weight:700;letter-spacing:-.01em;display:block}
.team-slug{font-family:var(--mono);font-size:12px;color:var(--ink-faint)}
.team-motto{margin-top:6px;font-size:14px;color:var(--ink-soft)}
.team-place{display:flex;flex-direction:column;align-items:center;gap:0;min-width:64px;
  background:var(--mint-bg);border:1.5px solid var(--mint);border-radius:var(--r);padding:8px 10px}
.place-n{font-family:var(--mono);font-size:26px;font-weight:700;line-height:1;color:var(--mint-dp)}
.place-lbl{font-size:11px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em}
.place-off{font-size:12px;color:var(--ink-faint);text-align:center}
.place-delta{font-size:11.5px;font-weight:700;margin-top:3px}
.place-delta.up{color:var(--mint-dp)}
.place-delta.down{color:var(--rose-dp)}

.team-nums,.ref-nums{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.team-nums span,.ref-nums span{display:flex;flex-direction:column;gap:1px;background:var(--cream-2);
  border-radius:var(--r-sm);padding:9px 8px;font-size:11.5px;color:var(--ink-soft);text-align:center}
.team-nums b,.ref-nums b{font-family:var(--mono);font-size:17px;color:var(--ink);font-weight:700}
.team-warn{font-size:13px;color:var(--amber-dp);background:var(--amber-bg);border:1.5px solid #F3DCB0;
  border-radius:var(--r-sm);padding:9px 11px}

.code-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--cream-2);
  border-radius:var(--r-sm);padding:9px 12px}
.code-lbl{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint)}
.code-val{font-family:var(--mono);font-size:16px;font-weight:700;letter-spacing:.1em}
.linkish{background:none;border:none;padding:0;font:inherit;font-size:12.5px;font-weight:600;
  color:var(--violet-dp);cursor:pointer;text-decoration:underline;text-decoration-style:dotted}
.linkish:hover{color:var(--ink)}
.linkish.danger{color:var(--rose-dp)}

/* ---------- участники ---------- */
.mem-list{display:flex;flex-direction:column;gap:7px}
.mem{display:grid;grid-template-columns:24px 1fr auto auto;align-items:center;gap:10px;
  background:var(--paper);border:1.5px solid var(--line-soft);border-radius:var(--r);padding:9px 11px}
.mem.is-me{border-color:var(--violet-dp);background:var(--violet-bg)}
.mem-pos{font-family:var(--mono);font-weight:700;font-size:13px;color:var(--ink-faint)}
.mem-main{min-width:0;display:flex;flex-direction:column;gap:1px}
.mem-main b{font-size:14.5px}
.mem-sub{font-size:11.5px;color:var(--ink-soft)}
.mem-streak{display:inline-flex;align-items:center;gap:3px;font-family:var(--mono);font-size:12.5px;
  font-weight:700;color:var(--ink-faint)}
.mem-streak .ic{width:14px;height:14px}
.mem-streak.is-live{color:var(--amber-dp)}
.mem-xp{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}
.mem-xp b{font-family:var(--mono);font-size:15px;color:var(--violet-dp)}
.mem-xp span{font-size:10.5px;color:var(--ink-faint)}
.mem-total{grid-column:2 / -1;font-size:11px;color:var(--ink-faint);font-family:var(--mono)}
.mem-note{font-size:12.5px}
.team-ctl{display:flex;flex-direction:column;gap:10px;padding-top:4px;border-top:1.5px dashed var(--line-soft)}
.team-ctl .btn{align-self:flex-start}

.invite-hint{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--mint-bg);
  border:1.5px solid var(--mint);border-radius:var(--r);padding:12px 14px;font-size:14px}

/* ---------- турнирная таблица ---------- */
.standings{display:flex;flex-direction:column;gap:12px}
.standings-head .muted{font-size:13.5px}
.season-sel{font-size:13.5px;padding:9px 12px}
.st-list{display:flex;flex-direction:column;gap:8px}
.st-row{display:grid;grid-template-columns:26px 34px 1fr auto auto;align-items:center;gap:10px;
  background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r);padding:11px 12px;
  box-shadow:var(--shadow)}
.st-row.p1{border-color:var(--amber);background:linear-gradient(180deg,var(--amber-bg),var(--paper))}
.st-row.p2{border-color:var(--line)}
.st-row.is-mine{outline:2px solid var(--violet-dp);outline-offset:1px}
.st-row.is-off{box-shadow:none;grid-template-columns:26px 1fr auto;opacity:.85}
.st-pos{font-family:var(--mono);font-weight:700;font-size:16px;color:var(--ink-faint);text-align:center}
.st-row.p1 .st-pos{color:var(--amber-dp)}
.st-delta{font-size:11px;font-weight:700;font-family:var(--mono);text-align:center}
.st-delta.up{color:var(--mint-dp)}
.st-delta.down{color:var(--rose-dp)}
.st-delta.flat{color:var(--ink-faint)}
.st-main{min-width:0;display:flex;flex-direction:column;gap:2px}
.st-main b{font-size:15px}
.st-sub{font-size:11.5px;color:var(--ink-soft);overflow-wrap:anywhere}
.st-score{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}
.st-score b{font-family:var(--mono);font-size:17px;color:var(--mint-dp)}
.st-score span{font-size:10.5px;color:var(--ink-faint)}
.st-xp{font-family:var(--mono);font-size:12px;color:var(--ink-faint);white-space:nowrap}
.st-sub-h{font-size:13px;font-weight:600;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em}
.st-list-off .st-row{background:var(--cream-2);border-style:dashed}

/* ---------- приглашения ---------- */
.ref-card{display:flex;flex-direction:column;gap:12px}
.ref-link{display:flex;gap:10px;align-items:stretch}
.ref-link .fld{flex:1;font-family:var(--mono);font-size:12.5px}
.ref-code-note{font-family:var(--mono);font-size:12px}
.ref-troph{display:flex;flex-wrap:wrap;gap:8px}
.troph{display:flex;align-items:center;gap:9px;border-radius:var(--r);padding:8px 13px 8px 11px;
  border:1.5px solid var(--line);background:var(--paper);font-size:12px;color:var(--ink-soft)}
.troph-txt{display:flex;flex-direction:column;gap:1px;min-width:0}
.troph b{font-size:12.5px;color:var(--ink)}
.troph i{font-style:normal;font-size:11px;color:var(--ink-faint)}
.troph .ic{width:17px;height:17px;flex:none}
.troph.is-on{border-color:var(--mint-dp);background:var(--mint-bg)}
.troph.is-on .ic{color:var(--mint-dp)}
.troph.is-off{opacity:.65}
.ref-list{display:flex;flex-direction:column;gap:6px}
.ref-row{display:grid;grid-template-columns:56px 1fr auto 38px;align-items:center;gap:9px;font-size:12.5px;
  background:var(--cream-2);border-radius:var(--r-sm);padding:8px 10px}
.ref-when{font-family:var(--mono);font-size:11.5px;color:var(--ink-faint)}
.ref-who{font-weight:600;overflow-wrap:anywhere}
.ref-state{font-size:11.5px;color:var(--ink-soft);text-align:right}
.ref-state.s-rewarded{color:var(--mint-dp)}
.ref-state.s-rejected{color:var(--rose-dp)}
.ref-xp{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--mint-dp);text-align:right}

/* ---------- приглашение на экране входа ---------- */
.ref-invite{background:var(--mint-bg);border:1.5px solid var(--mint);border-radius:var(--r-lg);
  padding:14px 16px;margin-bottom:16px;text-align:left}
.ref-invite-tag{display:inline-block;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;
  color:var(--mint-dp);font-weight:700;margin-bottom:5px}
.ref-invite b{display:block;font-size:15px;margin-bottom:4px}
.ref-invite p{font-size:13.5px;color:var(--ink-soft)}
.ref-invite-note{margin-top:6px;font-size:12.5px;color:var(--ink-faint)}

/* ---------- внешняя ссылка поддержки ---------- */
.support-card{display:flex;align-items:center;gap:14px;justify-content:space-between;flex-wrap:wrap;
  background:var(--paper);border:1.5px dashed var(--line);border-radius:var(--r-lg);padding:14px 16px}
.support-card b{font-size:14.5px}
.support-card .muted{font-size:12.5px}

/* ---------- узкие экраны ---------- */
@media (max-width:520px){
  .team-nums,.ref-nums{grid-template-columns:repeat(2,1fr)}
  .st-row{grid-template-columns:24px 30px 1fr auto;row-gap:6px}
  .st-xp{grid-column:3 / -1;text-align:right}
  .mem{grid-template-columns:22px 1fr auto;row-gap:4px}
  .mem-xp{grid-column:2 / -1;flex-direction:row;gap:5px;align-items:baseline}
  .ref-row{grid-template-columns:52px 1fr auto}
  .ref-xp{grid-column:2 / -1}
}
