/* Тосты всегда поверх всего */
.toast {
  z-index: 1000000 !important;
  position: fixed !important;
  bottom: 120px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: rgba(18,18,21,0.98) !important;
  border: 2px solid #d7b77b !important;
  color: #f2f2f4 !important;
  padding: 16px 24px !important;
  border-radius: 50px !important;
  font-weight: 900 !important;
  font-size: 16px !important;
  box-shadow: 0 10px 40px rgba(0,0,0,0.8) !important;
  text-align: center !important;
  pointer-events: none !important;
}

/* Модальное окно - меньший z-index */
.modal {
  z-index: 1000 !important;
}

/* Убедимся что оверлей тоже ниже */
.overlay {
  z-index: 500 !important;
}
:root{
  --bg:#1A0B0B;         /* глубокий бордовый фон */
  --panel1:#2C1518;      /* темно-бордовая панель */
  --panel2:#1F0E10;      /* еще темнее для градиента */
  --panel3:#3D1E22;      /* светлый бордовый */
  --text:#F7F3EA;        /* светлый текст */
  --muted:rgba(247,243,234,.62);
  --line:rgba(247,243,234,.14);
  --line2:rgba(247,243,234,.10);
  --gold:#C9A959;        /* приглушенное золото */
  --goldSoft:rgba(201,169,89,.16);
  --shadow:0 18px 55px rgba(0,0,0,.55);
  --shadow2:0 10px 28px rgba(0,0,0,.42);
}

*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
html{font-size:16px;}
body{
  font-family:Inter,system-ui;
  background:var(--bg);
  color:var(--text);
  min-height:100vh;
}
button{font-family:inherit;color:inherit;cursor:pointer;border:0;background:none;}
input{font-family:inherit;}

.bg{
  position:fixed; inset:0; z-index:-2;
  background:
    radial-gradient(900px 600px at 18% 10%, rgba(201,169,89,.12), transparent 62%),
    radial-gradient(980px 720px at 82% 92%, rgba(180,40,60,.25), transparent 62%),
    radial-gradient(900px 650px at 85% 20%, rgba(100,20,30,.35), transparent 62%),
    linear-gradient(180deg, rgba(255,215,175,.05), rgba(255,215,175,0));
}

/* Тосты всегда поверх модалок */
.toast {
  z-index: 100000 !important;
  position: fixed !important;
  bottom: 120px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: rgba(18,18,21,0.98) !important;
  border: 2px solid #d7b77b !important;
  color: #f2f2f4 !important;
  padding: 16px 24px !important;
  border-radius: 50px !important;
  font-weight: 900 !important;
  font-size: 16px !important;
  box-shadow: 0 10px 40px rgba(0,0,0,0.8) !important;
  text-align: center !important;
  pointer-events: none !important; /* Чтобы тост не мешал нажимать на кнопки */
}

/* Модальное окно */
.modal {
  z-index: 1000; /* Убедитесь, что у модалки z-index меньше, чем у тоста */
}
.app{
  max-width:720px;
  margin:0 auto;
  padding: 0 16px 110px;
}

/* Topbar */
.topbar{
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 0;
  margin: 0 0 8px 0;
}
.brand__img{
  width: 100px;
  height: auto;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 10px 25px rgba(0,0,0,.5));
}

  box-shadow: none;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
  margin: 0;
}

.main{padding-top:px;}
.page{display:none;}
.page--active{display:block;}
.pagepad{padding-bottom:10px;}

/* Page head */
.pagehead{display:flex;align-items:center;gap:10px;margin:2px 0 12px;}
.pagehead__title{font-weight:900;font-size:18px;letter-spacing:.2px;}
.pagehead__spacer{flex:1;}
.backbtn{
  width:42px;height:42px;border-radius:16px;
  background:linear-gradient(160deg,var(--panel1),var(--panel2));
  border:1px solid rgba(247,243,234,.14);
  display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow2);
}

/* Filter */
.filter{
  width:100%;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:14px 16px;border-radius:20px;
  background:linear-gradient(160deg,var(--panel1),var(--panel2));
  border:1px solid rgba(247,243,234,.14);
  color:rgba(247,243,234,.92);
  font-weight:900;
  box-shadow:var(--shadow2);
  margin-bottom:14px;
}
.filter span{flex:1;text-align:left;margin-left:10px;}

/* Search input */
.search-input{
  padding:14px 16px 14px 40px;
  border-radius:20px;
  background:linear-gradient(160deg,var(--panel1),var(--panel2));
  border:1px solid rgba(247,243,234,.14);
  color:var(--text);
  font-weight:600;
  outline: none;
  width: 100%;
}
.search-input:focus{
  border-color: var(--gold);
}

/* Sortable headers */
.sortable{
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  transition: opacity 0.2s;
}
.sortable:hover{
  opacity: 0.8;
}
.sortable i{
  transition: transform 0.2s;
}
.sortable.asc i{
  transform: rotate(180deg);
}

/* Blocks */
.block{
  margin-top:14px;
  padding:14px;
  border-radius:26px;
  background:linear-gradient(160deg,var(--panel1),var(--panel2));
  border:1px solid rgba(247,243,234,.12);
  box-shadow:var(--shadow);
}
.block__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.block__title{display:flex;align-items:center;gap:10px;font-weight:900;}
.block__title i{color:var(--gold);}
.block__meta{color:var(--muted);font-weight:800;font-size:12px;}

/* Next card */
.nextcard{
  border-radius:24px;
  border:1px solid rgba(247,243,234,.12);
  background:linear-gradient(160deg, rgba(180,60,70,.25), rgba(120,20,30,.15));
  padding:16px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  cursor:pointer;
  transition: all 0.2s ease;
  overflow:hidden;
}
.nextcard__left{
  flex:1;
  min-width:0;
  overflow:hidden;
}
.nextcard__right{
  flex-shrink:0;
  width:70px;
}
.nextcard--registered{ 
  border-color: var(--gold);
  box-shadow: 0 0 0 2px rgba(201,169,89,.3) inset;
  background:linear-gradient(160deg, rgba(201,169,89,.15), rgba(150,50,60,.15));
}
.nextcard__name{font-size:20px;font-weight:900;letter-spacing:-.3px;line-height:1.1;}
.nextcard__chips{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap;}
.chip{
  display:inline-flex;align-items:center;gap:5px;
  padding:6px 10px;border-radius:18px;
  background:rgba(60,20,20,.5);
  border:1px solid rgba(247,243,234,.12);
  font-weight:700;font-size:12px;
  color:rgba(247,243,234,.88);
}
.badge{
  width:58px;height:58px;border-radius:20px;
  background:rgba(201,169,89,.14);
  border:1px solid rgba(201,169,89,.28);
  display:flex;align-items:center;justify-content:center;
  font-weight:900;color:rgba(247,243,234,.95);
}

/* Progress */
.progress{margin-top:12px;}
.progress__bar{
  height:10px;border-radius:999px;
  background:rgba(60,20,20,.6);
  border:1px solid rgba(247,243,234,.12);
  overflow:hidden;
}
.progress__fill{
  height:100%;width:0%;
  background:linear-gradient(90deg, rgba(201,169,89,.98), rgba(180,70,80,.6));
  border-radius:999px;
}
.progress__row{display:flex;justify-content:space-between;margin-top:8px;}
.progress__txt{color:var(--muted);font-weight:800;font-size:12px;}

/* TOP header cols - обновлено */
.topcols{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 0 4px 8px;
}
.topcols__spacer{flex:1;}
.topcols__right{
  display:grid;
  grid-template-columns: 70px 70px;
  gap:10px;
  justify-content:end;
}
.topcol{
  text-align:left;           /* изменено с right на left */
  padding-right: 25px;        /* добавлен отступ справа */
  font-weight:900;
  font-size:11px;
  color:rgba(247,243,234,.72);
  text-transform:uppercase;
  letter-spacing:1px;
}

/* Top list */
.toplist{display:flex;flex-direction:column;gap:10px;}
.toprow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 12px;
  border-radius:20px;
  background:rgba(80,30,35,.3);
  border:1px solid rgba(247,243,234,.12);
  cursor:pointer;
}
.toprow__left{display:flex;align-items:center;gap:12px;min-width:0;}
.rank{
  width:36px;height:36px;border-radius:16px;
  background:rgba(201,169,89,.14);
  border:1px solid rgba(201,169,89,.22);
  display:flex;align-items:center;justify-content:center;
  font-weight:900;
}
.nick{font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.toprow__right{
  display:grid;
  grid-template-columns: 70px 70px;
  gap:10px;
  align-items:center;
}
.koval, .ptsval{
  text-align:center;          /* изменено с right на center */
  font-weight:900;
  color:rgba(247,243,234,.95);
}

/* Link row */
.linkrow{
  margin-top:12px;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 12px;
  border-radius:18px;
  background:rgba(80,30,35,.3);
  border:1px solid rgba(247,243,234,.12);
  font-weight:900;
  color:rgba(247,243,234,.90);
}

/* Actions */
.actions{
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.action{
  padding:14px 12px;
  border-radius:24px;
  background:linear-gradient(160deg, rgba(150,50,60,.25), rgba(100,20,30,.2));
  border:1px solid rgba(247,243,234,.12);
  box-shadow:var(--shadow2);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
}
.action__ic{
  width:48px;height:48px;border-radius:18px;
  background:rgba(60,20,20,.6);
  border:1px solid rgba(247,243,234,.12);
  display:flex;align-items:center;justify-content:center;
}
.action__tx{font-weight:900;}

/* Stats */
.stats{margin-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.stats--3{grid-template-columns:1fr 1fr 1fr;}
.stat{
  padding:16px 14px;border-radius:22px;
  background:linear-gradient(160deg, rgba(150,50,60,.2), rgba(100,20,30,.1));
  border:1px solid rgba(247,243,234,.12);
  display:flex;flex-direction:column;gap:6px;align-items:flex-start;
}
.stat__n{font-size:28px;font-weight:900;letter-spacing:-.4px;color:rgba(247,243,234,.98);}
.stat__l{color:var(--muted);font-weight:900;text-transform:uppercase;font-size:11px;letter-spacing:1.2px;}

/* Card/kv */
.card{
  padding:14px;border-radius:24px;
  background:linear-gradient(160deg,var(--panel1),var(--panel2));
  border:1px solid rgba(247,243,234,.12);
  box-shadow:var(--shadow2);
  margin-top:12px;
}
.card__h{font-weight:900;font-size:18px;}
.kv{margin-top:12px;border-radius:18px;border:1px solid rgba(247,243,234,.10);overflow:hidden;}
.kv__r{display:flex;justify-content:space-between;gap:10px;padding:12px;border-bottom:1px solid rgba(247,243,234,.08);}
.kv__r:last-child{border-bottom:0;}
.kv__k{color:var(--muted);font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:1px;}
.kv__v{font-weight:900;}

/* Tournament view: keep location value on the right side */
#tViewLocation{ text-align:right; margin-left:auto; }
.txt{margin-top:10px;color:rgba(247,243,234,.88);line-height:1.55;font-weight:700;}
.plist{margin-top:12px;display:flex;flex-direction:column;gap:10px;}
.pitem{
  padding:12px 12px;border-radius:18px;
  background:rgba(80,30,35,.3);
  border:1px solid rgba(247,243,234,.12);
  display:flex;justify-content:space-between;align-items:center;
}

/* Calendar week view */
.calendar-week{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:6px;
  margin:16px 0;
}
.calendar-week__day{
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:10px 4px;
  border-radius:16px;
  background:linear-gradient(160deg, rgba(150,50,60,.2), rgba(100,20,30,.1));
  border:1px solid rgba(247,243,234,.08);
}
.calendar-week__name{
  font-size:11px;
  font-weight:800;
  color:var(--muted);
  margin-bottom:4px;
}
.calendar-week__date{
  font-size:18px;
  font-weight:900;
  color:var(--text);
}

/* Calendar day section */
.calendar-day{
  margin-bottom:20px;
}
.calendar-day__header{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}
.calendar-day__name{
  font-size:16px;
  font-weight:900;
  color:var(--gold);
}
.calendar-day__date{
  font-size:14px;
  color:var(--muted);
  font-weight:700;
}

/* tournaments list */
.list{margin-top:12px;display:flex;flex-direction:column;gap:12px;}
.tcard{
  cursor:pointer;
  padding:14px;border-radius:24px;
  background:linear-gradient(160deg, rgba(150,50,60,.25), rgba(100,20,30,.15));
  border:1px solid rgba(247,243,234,.12);
  box-shadow:var(--shadow2);
  margin-bottom:8px;
}
.tcard--registered{
  border-color: var(--gold);
  background:linear-gradient(160deg, rgba(201,169,89,.15), rgba(150,50,60,.2));
}
.tcard__top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;}
.tcard__name{font-weight:900;font-size:18px;letter-spacing:-.2px;}
.tcard__dt{color:var(--muted);font-weight:900;font-size:12px;white-space:nowrap;}
.tcard__meta{margin-top:10px;display:flex;gap:10px;flex-wrap:wrap;}

/* profile */
.profileTop{display:flex;align-items:center;gap:12px;}
.avatar{
  width:52px;height:52px;border-radius:18px;
  background:rgba(201,169,89,.14);
  border:1px solid rgba(201,169,89,.28);
  display:flex;align-items:center;justify-content:center;
  font-weight:900;
}
.profileTop__name{font-weight:900;font-size:18px;}
.profileTop__sub{color:var(--muted);font-weight:900;font-size:11px;text-transform:uppercase;letter-spacing:1.2px;margin-top:4px;}
.profileEdit{ margin-top:10px; display:flex; gap:10px; align-items:center; }
.profileEdit__i{ flex:1; background:rgba(60,20,20,.6); border:1px solid rgba(201,169,89,.2); color:#fff; padding:10px 12px; border-radius:12px; outline:none; }
.profileEdit__i:focus{ border-color: var(--gold); }
.profileEdit__b{ padding:10px 12px; border-radius:12px; border:1px solid rgba(201,169,89,.3); background:rgba(201,169,89,.2); color:#fff; font-weight:900; cursor:pointer; }
.profileEdit__b:hover{ background:rgba(201,169,89,.3); }

/* big button */
.bigbtn{
  margin-top:14px;width:100%;
  padding:16px;border-radius:22px;
  font-weight:900;letter-spacing:1px;
  background:var(--gold);color:#1A0B0B;
  box-shadow:var(--shadow2);
  border: none;
  cursor: pointer;
}
.bigbtn:disabled{
  opacity:0.5;
  cursor: not-allowed;
}

/* rating table */
.seg{
  display:flex;
  background:rgba(60,20,20,.5);
  border:1px solid rgba(247,243,234,.12);
  border-radius:999px;
  padding:4px;
  gap:4px;
}
.seg--full{ width:100%; }
.seg__btn{
  flex:1;
  padding:10px 10px;
  border-radius:999px;
  font-weight:900;
  font-size:12px;
  color:rgba(247,243,234,.65);
  cursor:pointer;
}
.seg__btn--on{
  background:rgba(201,169,89,.25);
  color:rgba(247,243,234,.98);
  border:1px solid rgba(201,169,89,.35);
}
.tableHead{
  display:grid;
  grid-template-columns:34px 1fr 70px 70px;
  gap:10px;
  color:rgba(247,243,234,.75);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:1px;
  font-size:11px;
  padding:8px 4px 12px;
  border-bottom:1px solid rgba(247,243,234,.10);
}
.tr{text-align:right;}
.rrow{
  display:grid;
  grid-template-columns:34px 1fr 70px 70px;
  gap:10px;
  align-items:center;
  padding:12px 4px;
  border-bottom:1px solid rgba(247,243,234,.08);
}
.rrow:last-child{border-bottom:0;}
.rrow--highlight{ background: rgba(201,169,89,.15); }
.rnick{font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* Dock */
.dock{
  position:fixed;
  left:50%;
  transform:translateX(-50%);
  bottom:14px;
  width:min(520px, calc(100% - 24px));
  padding:8px;
  border-radius:999px;
  background:rgba(44,21,24,.95);
  border:1px solid rgba(247,243,234,.12);
  box-shadow:var(--shadow);
  display:flex;
  gap:8px;
  z-index:20;
  backdrop-filter: blur(10px);
}
.dock__i{
  flex:1;
  height:46px;
  border-radius:999px;
  display:flex;align-items:center;justify-content:center;
  color:rgba(247,243,234,.70);
  font-size:18px;
  cursor:pointer;
}
.dock__i--on{
  background:rgba(201,169,89,.25);
  border:1px solid rgba(201,169,89,.35);
  color:rgba(247,243,234,.98);
}

/* Sheet + Toast */
.overlay{
  position:fixed; inset:0;
  background:rgba(30,10,10,.8);
  backdrop-filter:blur(10px);
  display:none;
  z-index:60;
}
.sheet{
  position:fixed;
  left:50%;
  transform:translateX(-50%);
  bottom:-520px;
  width:min(720px, calc(100% - 24px));
  border-radius:22px;
  background:rgba(44,21,24,.98);
  border:1px solid rgba(247,243,234,.12);
  box-shadow:var(--shadow);
  padding:12px;
  z-index:70;
  transition:bottom 260ms cubic-bezier(.22,1,.36,1);
}
.sheet--open{bottom:14px;}
.sheet__handle{width:54px;height:6px;border-radius:999px;background:rgba(247,243,234,.22);margin:2px auto 10px;}
.sheet__title{font-weight:900;margin:0 0 10px;}
.sheet__list{max-height:44vh;overflow:auto;display:flex;flex-direction:column;gap:8px;}
.sheet__item{
  padding:12px 12px;border-radius:18px;
  background:rgba(80,30,35,.4);
  border:1px solid rgba(247,243,234,.12);
  font-weight:900;text-align:left;
  cursor:pointer;
}
.sheet__item--active{border-color:rgba(201,169,89,.28);background:rgba(201,169,89,.15);}
.sheet__close{
  margin-top:10px;width:100%;
  padding:12px;border-radius:18px;
  background:rgba(80,30,35,.4);
  border:1px solid rgba(247,243,234,.12);
  font-weight:900;
  cursor:pointer;
}
.toast{
  position:fixed;
  left:50%;
  transform:translateX(-50%);
  bottom:92px;
  width:min(720px, calc(100% - 24px));
  padding:12px 14px;
  border-radius:18px;
  background:rgba(44,21,24,.98);
  border:1px solid rgba(247,243,234,.12);
  box-shadow:var(--shadow2);
  display:none;
  z-index:80;
  font-weight:900;
}

/* ====== Modals ====== */
.modal{ 
  position:fixed; 
  inset:0; 
  display:none; 
  align-items:center; 
  justify-content:center; 
  padding:16px; 
  z-index:100; 
  background: rgba(30,10,10,.85);
  backdrop-filter: blur(5px);
}
.modal--on{ display:flex; }
.modal__box{ 
  width:min(520px, 100%); 
  background:rgba(44,21,24,.98); 
  border:1px solid rgba(201,169,89,.4); 
  border-radius:24px; 
  box-shadow:0 20px 60px rgba(0,0,0,.8); 
  overflow:hidden; 
}
.modal__h{ 
  padding:18px 20px; 
  font-weight:900; 
  font-size:20px;
  letter-spacing:.2px; 
  border-bottom:1px solid rgba(201,169,89,.3); 
  background: rgba(60,20,20,.6);
}
.modal__body{ 
  max-height:56vh; 
  overflow:auto; 
  padding:18px 20px; 
  line-height:1.5; 
  color:rgba(247,243,234,.95); 
  font-weight:600;
}
.modal__body p{
  margin-bottom:12px;
}
.modal__row{ 
  padding:0 20px 20px; 
}
.field{ 
  display:block; 
}
.field__l{ 
  display:block; 
  font-size:12px; 
  opacity:.8; 
  margin-bottom:6px; 
  font-weight:700;
}
.field__i{ 
  width:100%; 
  background:rgba(60,20,20,.6); 
  border:1px solid rgba(201,169,89,.4); 
  color:#fff;
  padding:14px 16px; 
  border-radius:16px; 
  outline:none; 
  font-size:16px;
}
.field__i:focus{
  border-color: var(--gold);
}
.bigbtn--disabled{ 
  opacity:.5; 
  pointer-events:none; 
}
.aboutgrid{ 
  display:grid; 
  grid-template-columns:repeat(3,1fr); 
  gap:10px; 
  margin-bottom:16px; 
}
.aboutimg{ 
  width:100%; 
  height:100px; 
  object-fit:cover; 
  border-radius:16px; 
  border:1px solid rgba(201,169,89,.4); 
}

/* Next tournament right logo - обновлено */
.tlogo{ 
  width:70px; 
  height:70px; 
  border-radius:16px; 
  overflow:hidden; 
  border:1px solid rgba(255,255,255,.10); 
  background:rgba(60,20,20,.6); 
  display:flex; 
  align-items:center; 
  justify-content:center; 
}
.tlogo img{ 
  width:100%; 
  height:100%; 
  object-fit:cover; 
  display:block; 
}

/* Убираем .tbrand так как он больше не нужен */
.tbrand {
  display: none;
}
/* Sortable headers */
.sortable{
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  transition: opacity 0.2s;
  user-select: none;
}
.sortable:hover{
  opacity: 0.8;
}
.sortable i{
  transition: transform 0.2s;
}
.sortable.asc i{
  transform: rotate(180deg);
}

/* Для колонки с ником сортировка не предусмотрена, но стиль оставим */
.tableHead .sortable:first-of-type {
  justify-content: flex-start;
}
.tableHead__nick {
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 11px;
  text-align: left;
}
/* Player photo/avatar */
.player-photo {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--gold);
}

.player-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(201, 169, 89, 0.2);
  border: 2px solid var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 14px;
  color: var(--gold);
}

.pitem {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(80,30,35,.3);
  border: 1px solid rgba(247,243,234,.12);
  margin-bottom: 8px;
}

.pitem--highlight {
  background: rgba(201, 169, 89, 0.2);
  border-color: var(--gold);
}

.pitem--waiting {
  opacity: 0.7;
  background: rgba(60,60,60,0.2);
}

.player-name {
  font-weight: 700;
  flex: 1;
}

/* Profile avatar */
.profile-avatar {
  width: 60px;
  height: 60px;
  border-radius: 18px;
  overflow: hidden;
  border: 2px solid var(--gold);
}

.profile-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.profile-avatar .avatar-placeholder {
  width: 100%;
  height: 100%;
  background: rgba(201, 169, 89, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 24px;
  color: var(--gold);
}
/* Стили для кнопки листа ожидания */
.bigbtn.waiting-btn {
  background: #4A4A4A;
  color: #F7F3EA;
}

.bigbtn.waiting-btn:hover {
  background: #5A5A5A;
}

/* Индикатор занятости */
.seats-full-indicator {
  display: inline-block;
  padding: 4px 8px;
  background: rgba(255, 107, 107, 0.2);
  border: 1px solid #ff6b6b;
  border-radius: 4px;
  color: #ff6b6b;
  font-size: 12px;
  font-weight: bold;
  margin-left: 10px;
}
/* Стили для листа ожидания */
.waiting-badge {
  display: inline-block;
  padding: 2px 8px;
  background: rgba(255, 193, 7, 0.2);
  border: 1px solid #ffc107;
  border-radius: 12px;
  color: #ffc107;
  font-size: 11px;
  font-weight: bold;
  margin-left: 8px;
}

.pitem--waiting {
  opacity: 0.8;
  background: rgba(60, 60, 60, 0.3);
  border-left: 3px solid #ffc107;
}

.pitem--waiting .player-name {
  color: rgba(247, 243, 234, 0.8);
}

/* Индикатор мест */
.seats-full-indicator {
  display: inline-block;
  padding: 4px 8px;
  background: rgba(255, 107, 107, 0.2);
  border: 1px solid #ff6b6b;
  border-radius: 4px;
  color: #ff6b6b;
  font-size: 12px;
  font-weight: bold;
  margin-left: 10px;
}

/* Кнопка листа ожидания */
.bigbtn.waiting-btn {
  background: #4A4A4A;
  color: #F7F3EA;
}

.bigbtn.waiting-btn:hover {
  background: #5A5A5A;
}

/* Счетчик очереди */
.waiting-count {
  display: inline-block;
  padding: 2px 6px;
  background: #ffc107;
  color: #1A0B0B;
  border-radius: 10px;
  font-size: 11px;
  font-weight: bold;
  margin-left: 8px;
}
/* Стили для завершенных турниров в профиле */
.completed-badge {
  display: inline-block;
  padding: 2px 8px;
  background: rgba(76, 175, 80, 0.2);
  border: 1px solid #4CAF50;
  border-radius: 12px;
  color: #4CAF50;
  font-size: 11px;
  font-weight: bold;
  margin-left: 8px;
}

.profile-result {
  display: flex;
  gap: 16px;
  margin-top: 4px;
  font-size: 13px;
  color: rgba(247,243,234,.7);
}

.profile-result span {
  display: flex;
  align-items: center;
  gap: 4px;
}

.profile-result i {
  color: var(--gold);
  font-size: 12px;
}

/* Стили для русских надписей */
.russian-text {
  font-weight: 700;
}

/* Улучшения для таблицы рейтинга */
.tableHead .sortable {
  cursor: pointer;
  user-select: none;
  transition: opacity 0.2s;
}

.tableHead .sortable:hover {
  opacity: 0.8;
}

.sortable i {
  transition: transform 0.2s;
}

.sortable.asc i {
  transform: rotate(180deg);
}
.filter-tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
}

.filter-tab {
  flex: 1;
  padding: 10px;
  border-radius: 20px;
  background: linear-gradient(160deg, var(--panel1), var(--panel2));
  border: 1px solid rgba(247,243,234,.14);
  color: rgba(247,243,234,.7);
  font-weight: 900;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s;
}

.filter-tab.active {
  background: rgba(201,169,89,.25);
  border-color: rgba(201,169,89,.35);
  color: var(--gold);
}

.tcard--completed {
  opacity: 0.8;
}

.completed-badge {
  display: inline-block;
  padding: 2px 8px;
  background: rgba(76, 175, 80, 0.2);
  border: 1px solid #4CAF50;
  border-radius: 12px;
  color: #4CAF50;
  font-size: 11px;
  font-weight: bold;
  margin-left: 8px;
}
/* Для результатов турнира */
.tournament-result-row {
  display: flex;
  align-items: center;
  width: 100%;
}

.result-stats {
  display: flex;
  gap: 20px;
  margin-left: auto;
  font-weight: 900;
  color: var(--gold);
}

.result-stats span {
  min-width: 60px;
  text-align: center;
}

.card__h span {
  font-size: 14px;
  color: var(--gold);
  font-weight: 700;
}
/* Стили для результатов турнира */
.tournament-results-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.tournament-result-item {
  padding: 16px;
  background: linear-gradient(160deg, rgba(150,50,60,.25), rgba(100,20,30,.15));
  border: 1px solid rgba(247,243,234,.12);
  border-radius: 16px;
  transition: all 0.2s;
}

.tournament-result-item:hover {
  border-color: var(--gold);
  background: linear-gradient(160deg, rgba(201,169,89,.15), rgba(150,50,60,.2));
}

.tournament-result-item .player-name {
  font-size: 16px;
  color: var(--text);
}

.tournament-result-item div[style*="margin-left: 52px"] {
  font-size: 14px;
  letter-spacing: 0.5px;
}

.tournament-result-item div[style*="margin-left: 52px"] span {
  display: flex;
  align-items: center;
  gap: 6px;
}

.tournament-result-item div[style*="margin-left: 52px"] span i {
  font-size: 16px;
}
/* Стили для результатов турнира */
#tViewResultsCard .pitem {
  transition: all 0.2s ease;
}

#tViewResultsCard .pitem:hover {
  border-color: var(--gold);
  background: linear-gradient(160deg, rgba(201,169,89,.15), rgba(150,50,60,.2)) !important;
  transform: translateY(-2px);
}

#tViewResultsCard .pitem div[style*="margin-left: 52px"] span {
  font-size: 14px;
  letter-spacing: 0.3px;
}

#tViewResultsCard .pitem div[style*="margin-left: 52px"] span i {
  font-size: 16px;
  opacity: 0.9;
}

/* Улучшенный календарь */
.calendar-improved {
  background: linear-gradient(160deg, var(--panel1), var(--panel2));
  border: 1px solid rgba(247,243,234,.12);
  border-radius: 24px;
  padding: 16px;
  margin-bottom: 20px;
  box-shadow: var(--shadow2);
}

.calendar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.calendar-nav {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(201,169,89,.1);
  border: 1px solid rgba(201,169,89,.2);
  color: var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s;
}

.calendar-nav:hover {
  background: rgba(201,169,89,.2);
  border-color: var(--gold);
}

.calendar-month {
  font-weight: 900;
  font-size: 18px;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: 1px;
}

.calendar-weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  margin-bottom: 8px;
}

.weekday {
  text-align: center;
  font-weight: 800;
  font-size: 12px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 8px 0;
}

.calendar-dates {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
}

.calendar-date {
  aspect-ratio: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(60,20,20,.3);
  border: 1px solid rgba(247,243,234,.08);
  cursor: pointer;
  transition: all 0.2s;
  padding: 8px 4px;
}

.calendar-date:hover {
  background: rgba(201,169,89,.15);
  border-color: rgba(201,169,89,.3);
}

.calendar-date.has-tournaments {
  background: rgba(201,169,89,.1);
  border-color: rgba(201,169,89,.3);
  font-weight: 900;
}

.calendar-date.has-tournaments .date-number {
  color: var(--gold);
  font-size: 16px;
}

.calendar-date.today {
  background: rgba(76,175,80,.15);
  border-color: #4CAF50;
}

.calendar-date.today .date-number {
  color: #4CAF50;
}

.date-number {
  font-weight: 900;
  font-size: 14px;
  color: var(--text);
}

.tournament-indicator {
  display: flex;
  gap: 3px;
  margin-top: 4px;
}

.indicator-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--gold);
}

.indicator-dot.completed {
  background: #4CAF50;
}

.indicator-dot.upcoming {
  background: var(--gold);
}

.calendar-date.empty {
  opacity: 0.3;
  pointer-events: none;
}
.calendar-date.selected {
  background: rgba(201,169,89,.25);
  border-color: var(--gold);
  box-shadow: 0 0 0 2px rgba(201,169,89,.3);
}

.calendar-date.selected .date-number {
  color: var(--gold);
  font-weight: 900;
}
/* Улучшенный календарь */
.calendar-improved {
  background: linear-gradient(160deg, var(--panel1), var(--panel2));
  border: 1px solid rgba(247,243,234,.12);
  border-radius: 24px;
  padding: 16px;
  margin-bottom: 20px;
  box-shadow: var(--shadow2);
}

.calendar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.calendar-nav {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(201,169,89,.1);
  border: 1px solid rgba(201,169,89,.2);
  color: var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s;
}

.calendar-nav:hover {
  background: rgba(201,169,89,.2);
  border-color: var(--gold);
}

.calendar-month {
  font-weight: 900;
  font-size: 18px;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: 1px;
}

.calendar-weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  margin-bottom: 8px;
}

.weekday {
  text-align: center;
  font-weight: 800;
  font-size: 12px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 8px 0;
}

.calendar-dates {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
}

.calendar-date {
  aspect-ratio: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(60,20,20,.3);
  border: 1px solid rgba(247,243,234,.08);
  cursor: pointer;
  transition: all 0.2s;
  padding: 8px 4px;
}

.calendar-date:hover {
  background: rgba(201,169,89,.15);
  border-color: rgba(201,169,89,.3);
}

.calendar-date.has-tournaments {
  background: rgba(201,169,89,.1);
  border-color: rgba(201,169,89,.3);
  font-weight: 900;
}

.calendar-date.has-tournaments .date-number {
  color: var(--gold);
  font-size: 16px;
}

.calendar-date.today {
  background: rgba(76,175,80,.15);
  border-color: #4CAF50;
}

.calendar-date.today .date-number {
  color: #4CAF50;
}

.calendar-date.selected {
  background: rgba(201,169,89,.25);
  border-color: var(--gold);
  box-shadow: 0 0 0 2px rgba(201,169,89,.3);
}

.calendar-date.selected .date-number {
  color: var(--gold);
  font-weight: 900;
}

.date-number {
  font-weight: 900;
  font-size: 14px;
  color: var(--text);
}

.tournament-indicator {
  display: flex;
  gap: 3px;
  margin-top: 4px;
}

.indicator-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--gold);
}

.indicator-dot.completed {
  background: #4CAF50;
}

.indicator-dot.upcoming {
  background: var(--gold);
}

.calendar-date.empty {
  opacity: 0.3;
  pointer-events: none;
}
/* === LOGO position overrides (append to the end of style.css) === */

/* Move logo to the RIGHT and as LOW as possible inside the header (near the first block) */
.topbar{
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px 0 6px 0;   /* минимальный отступ */
  margin: 0;              /* убираем лишний отступ */
}
.brand__img{
  width: 400px;   /* регулируй */
  height: auto;
}
.brand {
  margin-left: -14px; /* двигает влево */
}
.card--warning{
  background: linear-gradient(160deg, rgba(150,30,40,.35), rgba(90,20,25,.25));
  border: 1px solid rgba(255,80,80,.35);
}
.card--warning .card__h{
  color: #ff8080;
}
#secondTournamentBlock {
  margin-top: 10px;
}

#secondTournamentCard {
  cursor: pointer;
}

#secondTournamentCard .nextcard__right .tlogo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* Тосты всегда поверх модалок */
.toast {
  z-index: 100000 !important;
  position: fixed !important;
  bottom: 120px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: rgba(18,18,21,0.98) !important;
  border: 2px solid #d7b77b !important;
  color: #f2f2f4 !important;
  padding: 16px 24px !important;
  border-radius: 50px !important;
  font-weight: 900 !important;
  font-size: 16px !important;
  box-shadow: 0 10px 40px rgba(0,0,0,0.8) !important;
  text-align: center !important;
  pointer-events: none !important; /* Чтобы тост не мешал нажимать на кнопки */
}

/* Модальное окно */
.modal {
  z-index: 1000; /* Убедитесь, что у модалки z-index меньше, чем у тоста */
}