:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f7f7f7;background:#080b10}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 20% 0,#15304a 0,transparent 34%),#080b10;min-height:100vh}header{display:flex;justify-content:space-between;align-items:center;padding:24px clamp(18px,5vw,72px);border-bottom:1px solid #26303a;position:sticky;top:0;background:#080b10e8;backdrop-filter:blur(14px);z-index:5}.eyebrow{font-size:12px;letter-spacing:.22em;color:#9cc3e6}h1{font-size:24px;margin:3px 0}nav{display:flex;gap:8px;flex-wrap:wrap}button,select,input,textarea{font:inherit}button{border:1px solid #344252;background:#141b24;color:#fff;border-radius:10px;padding:10px 14px;cursor:pointer}button:hover{background:#1d2835}.bid{font-size:24px;font-weight:800;background:#fff;color:#07101a;border:none;padding:18px 32px;width:100%;margin-top:20px}.danger{border-color:#6c3030}main{max-width:1280px;margin:auto;padding:30px clamp(16px,4vw,48px)}.view{display:none}.view.active{display:block}.auction-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}.player-card,.bid-card,.panel{background:#10161e;border:1px solid #27313c;border-radius:20px;padding:22px}.player-card{display:grid;grid-template-columns:minmax(180px,42%) 1fr;align-items:center;gap:24px}.photo-wrap{aspect-ratio:4/5;border-radius:16px;background:linear-gradient(145deg,#1b2734,#0b1016);overflow:hidden;display:flex;align-items:center;justify-content:center}.photo-wrap img{width:100%;height:100%;object-fit:cover}.ball{font-size:72px}.pill{display:inline-block;padding:6px 10px;border:1px solid #41576d;border-radius:999px;color:#a9d1f1}.player-card h2{font-size:clamp(30px,5vw,62px);line-height:.95;margin:16px 0}.label,.muted{color:#8494a6}.price{font-size:clamp(56px,9vw,110px);font-weight:900;line-height:1}.leader{font-size:20px;margin:8px 0 18px}.timer{font-variant-numeric:tabular-nums;font-size:46px;border-top:1px solid #2a3440;padding-top:16px}.joinbar{margin:22px 0;display:grid;grid-template-columns:1fr 1fr auto;gap:10px}.joinbar input,.joinbar select,.toolbar input,.toolbar select,.panel input,.panel textarea{width:100%;background:#0a0f15;color:#fff;border:1px solid #34404d;border-radius:10px;padding:11px}.history{display:grid;gap:8px}.history-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #202a34}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.team-card{background:#10161e;border:1px solid #27313c;border-radius:16px;padding:18px}.team-card h3{margin-top:0}.budget{font-size:32px;font-weight:800}.roster{padding-left:18px}.toolbar{display:flex;gap:10px;margin-bottom:16px}.table{width:100%;border-collapse:collapse;background:#10161e;border-radius:16px;overflow:hidden}.table th,.table td{padding:12px;border-bottom:1px solid #24303a;text-align:left}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.panel label{display:block;margin:10px 0}.wide{grid-column:1/-1}.controls{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.nominate-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;max-height:420px;overflow:auto}.nominate-list button{text-align:left}.admin-current{font-size:20px}.status-sold{color:#78d69a}.status-unsold{color:#ed9d9d}@media(max-width:800px){header{align-items:flex-start;gap:12px;flex-direction:column}.auction-grid{grid-template-columns:1fr}.player-card{grid-template-columns:120px 1fr}.joinbar,.admin-grid{grid-template-columns:1fr}.wide{grid-column:auto}.player-card h2{font-size:34px}.table{font-size:13px}}
.manual-player{display:grid;grid-template-columns:2fr 1.3fr 1fr .8fr 2fr auto;gap:8px}.manual-player input,.manual-player select{width:100%;background:#0a0f15;color:#fff;border:1px solid #34404d;border-radius:10px;padding:11px}@media(max-width:1000px){.manual-player{grid-template-columns:1fr 1fr}}@media(max-width:650px){.manual-player{grid-template-columns:1fr}}

#bid1Btn,
#bid5Btn,
#bid10Btn {
  background: #ffffff !important;
  color: #101820 !important;
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  outline: none;
}

#bid1Btn:hover, #bid1Btn:active, #bid1Btn:focus,
#bid5Btn:hover, #bid5Btn:active, #bid5Btn:focus,
#bid10Btn:hover, #bid10Btn:active, #bid10Btn:focus {
  background: #ffffff !important;
  color: #101820 !important;
}

#bid1Btn:disabled,
#bid5Btn:disabled,
#bid10Btn:disabled {
  background: #ffffff !important;
  color: #101820 !important;
  opacity: 0.55;
}
/* ==================================================
   KEPALU FANTASY V3
   Brand palette:
   #041C18 dark green
   #D4A470 gold
   #F4EDE1 cream
   #111111 black
   #2E3F38 secondary green
   ================================================== */

:root {
  --kf-green: #041C18;
  --kf-gold: #D4A470;
  --kf-cream: #F4EDE1;
  --kf-black: #111111;
  --kf-secondary: #2E3F38;
}

/* ===== AUKCIONO PAGRINDAS ===== */

#auction {
  max-width: 1000px;
  margin: 0 auto;
  padding: 20px 16px 60px;
}


/* ===== KOMANDOS JUOSTA ===== */

.mobile-team-bar {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  align-items: center;
  gap: 8px;

  background: var(--kf-green);
  border: 1px solid var(--kf-gold);
  border-radius: 14px;

  padding: 12px 14px;
  margin-bottom: 14px;
}

.team-bar-name {
  font-size: 17px;
  font-weight: 800;
  color: var(--kf-cream);
}

.team-bar-stat {
  text-align: center;
  border-left: 1px solid var(--kf-secondary);
}

.team-bar-stat span {
  display: block;
  margin-bottom: 2px;

  font-size: 11px;
  color: #9EAAA5;
}

.team-bar-stat strong {
  display: block;

  font-size: 17px;
  font-weight: 800;
  color: var(--kf-gold);
}


/* ===== AUKCIONO KORTELĖS ===== */

#auction .auction-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

#auction .auction-player-card,
#auction .auction-bid-card {
  background: var(--kf-green);

  border: 1px solid var(--kf-secondary);
  border-radius: 18px;

  padding: 18px;
}


/* ===== ŽAIDĖJO KORTELĖ ===== */

.auction-player-card {
  display: grid;
  grid-template-columns: 42% 1fr;
  gap: 20px;
  align-items: center;

  min-height: 300px;
}

.auction-player-card .photo-wrap {
  width: 100%;
  min-height: 260px;

  border-radius: 16px;
  overflow: hidden;

  background: var(--kf-secondary);

  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.auction-player-card .photo-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.auction-player-card .ball {
  margin: auto;
  font-size: 70px;
}

.player-info h2 {
  margin: 16px 0 12px;

  font-size: clamp(30px, 5vw, 52px);
  line-height: .95;

  color: var(--kf-cream);
}

.player-info p {
  color: #B8C0BC;
  font-size: 16px;
  line-height: 1.4;
}

.player-info .pill {
  display: inline-block;

  padding: 5px 10px;

  border: 1px solid var(--kf-gold);
  border-radius: 999px;

  color: var(--kf-gold);
}


/* ===== KAINA IR LAIKMATIS ===== */

.auction-live-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

.auction-bid-card .label {
  color: #A6B0AB;

  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
}

.auction-bid-card .price {
  margin-top: 10px;

  font-size: clamp(64px, 9vw, 100px);
  line-height: 1;
  font-weight: 900;

  color: var(--kf-gold);
}

.timer-box {
  text-align: center;
}

.timer-circle {
  width: 100px;
  height: 100px;

  margin-top: 10px;

  border: 7px solid var(--kf-gold);
  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 26px;
  font-weight: 900;

  color: var(--kf-cream);
  background: var(--kf-black);
}


/* ===== PIRMAUJANTI KOMANDA ===== */

.auction-bid-card .leader {
  margin: 18px 0;
  padding-top: 15px;

  border-top: 1px solid var(--kf-secondary);

  color: var(--kf-cream);
}


/* ===== STATYMO MYGTUKAI ===== */

.bid-buttons {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

#bid1Btn,
#bid5Btn,
#bid10Btn {
  min-height: 70px;

  border: 1px solid var(--kf-gold);
  border-radius: 12px;

  background: var(--kf-gold) !important;

  color: var(--kf-black) !important;
  -webkit-text-fill-color: var(--kf-black) !important;

  font-size: 25px;
  font-weight: 900;

  cursor: pointer;

  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  -webkit-appearance: none;
  appearance: none;
}

#bid1Btn:hover,
#bid5Btn:hover,
#bid10Btn:hover,
#bid1Btn:active,
#bid5Btn:active,
#bid10Btn:active,
#bid1Btn:focus,
#bid5Btn:focus,
#bid10Btn:focus {
  background: var(--kf-gold) !important;

  color: var(--kf-black) !important;
  -webkit-text-fill-color: var(--kf-black) !important;

  outline: none;
}


/* Neaktyvus statymo mygtukas */

#bid1Btn:disabled,
#bid5Btn:disabled,
#bid10Btn:disabled {
  background: var(--kf-secondary) !important;

  border-color: var(--kf-secondary);

  color: #87928D !important;
  -webkit-text-fill-color: #87928D !important;

  opacity: 1;
}


/* ===== PRISIJUNGIMO JUOSTA ===== */

.modern-joinbar {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr auto;

  gap: 10px;

  margin-top: 14px;
  padding: 14px;

  background: var(--kf-green);

  border: 1px solid var(--kf-secondary);
  border-radius: 16px;
}

.modern-joinbar select,
.modern-joinbar input {
  min-height: 52px;

  padding: 0 14px;

  background: var(--kf-black);

  border: 1px solid var(--kf-secondary);
  border-radius: 11px;

  color: var(--kf-cream);
}

.modern-joinbar select:focus,
.modern-joinbar input:focus {
  border-color: var(--kf-gold);
  outline: none;
}

.modern-joinbar button {
  min-height: 52px;

  padding: 0 22px;

  border: 1px solid var(--kf-gold);
  border-radius: 11px;

  background: var(--kf-gold);

  color: var(--kf-black);

  font-weight: 800;
}


/* ===== STATYMŲ ISTORIJA ===== */

.bid-history-panel {
  margin-top: 14px;

  background: var(--kf-green);

  border: 1px solid var(--kf-secondary);
  border-radius: 16px;
}

.bid-history-panel h3 {
  color: var(--kf-cream);
}

.bid-history-panel .history {
  color: #B8C0BC;
}


/* ==========================================
   MOBILUS VAIZDAS
   ========================================== */

@media (max-width: 700px) {

  #auction {
    padding: 12px 10px 40px;
  }

  #auction .auction-grid {
    grid-template-columns: 1fr;
  }


  /* Komandos juosta */

  .mobile-team-bar {
    grid-template-columns: 1.35fr 1fr .8fr;

    padding: 10px;
  }

  .team-bar-name {
    font-size: 15px;
  }

  .team-bar-stat strong {
    font-size: 15px;
  }


  /* Žaidėjo kortelė */

  .auction-player-card {
    grid-template-columns: 42% 1fr;

    min-height: 220px;

    padding: 12px !important;
  }

  .auction-player-card .photo-wrap {
    min-height: 200px;
  }

  .auction-player-card .ball {
    font-size: 50px;
  }

  .player-info h2 {
    margin: 10px 0 8px;

    font-size: 30px;
  }

  .player-info p {
    font-size: 13px;
  }


  /* Kainos kortelė */

  #auction .auction-bid-card {
    padding: 16px;
  }

  .auction-bid-card .price {
    font-size: 64px;
  }

  .timer-circle {
    width: 82px;
    height: 82px;

    border-width: 6px;

    font-size: 21px;
  }


  /* Statymo mygtukai */

  #bid1Btn,
  #bid5Btn,
  #bid10Btn {
    min-height: 64px;

    font-size: 22px;
  }


  /* Prisijungimas */

  .modern-joinbar {
    grid-template-columns: 1fr;
  }

  .modern-joinbar button {
    width: 100%;
  }
}
/* ===== LOGIN SCREEN ===== */

.login-screen {
  min-height: calc(100vh - 90px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px 16px 60px;
  background:
    radial-gradient(circle at top, #2E3F38 0%, #041C18 42%, #111111 100%);
}

.login-shell {
  width: 100%;
  max-width: 440px;
}

.login-brand {
  text-align: center;
  margin-bottom: 28px;
}

.login-crown {
  color: #D4A470;
  font-size: 42px;
  line-height: 1;
  margin-bottom: 6px;
}

.login-brand h1 {
  margin: 0;
  color: #F4EDE1;
  font-size: 46px;
  line-height: 1;
  letter-spacing: .06em;
  font-weight: 900;
}

.login-subtitle {
  margin-top: 8px;
  color: #D4A470;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .28em;
}

.login-card {
  background: rgba(4, 28, 24, .96);
  border: 1px solid #2E3F38;
  border-radius: 20px;
  padding: 24px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .35);
}

.login-card h2 {
  margin: 0 0 24px;
  color: #F4EDE1;
  font-size: 20px;
  text-align: center;
}

.login-card label {
  display: block;
  margin: 16px 0 7px;
  color: #B8C0BC;
  font-size: 13px;
  font-weight: 700;
}

.login-card select,
.login-card input {
  width: 100%;
  min-height: 54px;
  box-sizing: border-box;
  padding: 0 14px;
  background: #111111;
  border: 1px solid #2E3F38;
  border-radius: 12px;
  color: #F4EDE1;
  font-size: 16px;
}

.login-card select:focus,
.login-card input:focus {
  border-color: #D4A470;
  outline: none;
}

.login-card #joinBtn {
  width: 100%;
  min-height: 56px;
  margin-top: 22px;
  border: 0;
  border-radius: 12px;
  background: #D4A470;
  color: #111111;
  font-size: 16px;
  font-weight: 900;
  cursor: pointer;
}

.login-help {
  margin: 14px 0 0;
  text-align: center;
  color: #8F9B96;
  font-size: 12px;
}

.login-screen.hidden {
  display: none;
}

@media (max-width: 700px) {
  .login-screen {
    min-height: calc(100vh - 70px);
    padding: 20px 14px 40px;
  }

  .login-brand h1 {
    font-size: 40px;
  }

  .login-card {
    padding: 20px;
  }
}
/* ===== PLAYERS LIST ===== */

#players {
  max-width: 1000px;
  margin: 0 auto;
  padding: 20px 16px 60px;
}

#players .toolbar {
  display: grid;
  grid-template-columns: 1fr 220px;
  gap: 10px;
  margin-bottom: 14px;
}

#players .toolbar input,
#players .toolbar select {
  min-height: 50px;
  padding: 0 14px;
  background: #041C18;
  border: 1px solid #2E3F38;
  border-radius: 12px;
  color: #F4EDE1;
  font-size: 15px;
}

#players .toolbar input:focus,
#players .toolbar select:focus {
  border-color: #D4A470;
  outline: none;
}

.players-list {
  display: grid;
  gap: 10px;
}

.player-list-card {
  display: grid;
  grid-template-columns: 72px 1fr auto 150px;
  gap: 14px;
  align-items: center;

  padding: 12px;

  background: #041C18;
  border: 1px solid #2E3F38;
  border-radius: 14px;
}
.player-list-card.player-sold {
  position: relative;
  filter: grayscale(100%);
  opacity: 0.55;
}

.player-list-card.player-sold::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(120, 120, 120, 0.25);
  border-radius: 14px;
  pointer-events: none;
}

.player-list-photo {
  width: 72px;
  height: 72px;
  overflow: hidden;

  display: flex;
  align-items: center;
  justify-content: center;

  background: #2E3F38;
  border-radius: 12px;
}

.player-list-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.player-list-ball {
  font-size: 32px;
}

.player-list-name {
  color: #F4EDE1;
  font-size: 17px;
  font-weight: 800;
}

.player-list-meta {
  margin-top: 4px;
  color: #9EAAA5;
  font-size: 13px;
}

.player-list-price {
  color: #D4A470;
  font-size: 22px;
  font-weight: 900;
  white-space: nowrap;
}

.player-list-status {
  text-align: right;
  color: #D4A470;
  font-size: 12px;
  font-weight: 800;
}

.player-list-status span {
  color: #F4EDE1;
  font-weight: 600;
}


/* ===== MOBILE PLAYERS ===== */

@media (max-width: 700px) {

  #players {
    padding: 12px 10px 40px;
  }

  #players .toolbar {
    grid-template-columns: 1fr;
  }

  .player-list-card {
    grid-template-columns: 58px 1fr auto;
    gap: 10px;
    padding: 10px;
  }

  .player-list-photo {
    width: 58px;
    height: 58px;
  }

  .player-list-name {
    font-size: 15px;
  }

  .player-list-meta {
    font-size: 12px;
  }

  .player-list-price {
    font-size: 19px;
  }

  .player-list-status {
    grid-column: 2 / 4;
    text-align: left;
    margin-top: -4px;
    font-size: 11px;
  }
}
/* ===== MY TEAM ===== */

#teams {
  max-width: 1000px;
  margin: 0 auto;
  padding: 20px 16px 60px;
}

.my-team-card {
  background: #041C18;
  border: 1px solid #D4A470;
  border-radius: 18px;
  padding: 18px;
}

.my-team-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-bottom: 18px;
}

.my-team-kicker {
  color: #D4A470;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .15em;
}

.my-team-header h2 {
  margin: 5px 0 0;
  color: #F4EDE1;
  font-size: 30px;
}

.my-team-summary {
  display: flex;
  gap: 24px;
}

.my-team-summary div {
  text-align: center;
}

.my-team-summary span {
  display: block;
  color: #9EAAA5;
  font-size: 11px;
}

.my-team-summary strong {
  display: block;
  margin-top: 3px;
  color: #D4A470;
  font-size: 20px;
}

.my-team-roster {
  display: grid;
  gap: 10px;
}

.my-team-player {
  display: grid;
  grid-template-columns: 64px 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 10px;
  background: #111111;
  border: 1px solid #2E3F38;
  border-radius: 13px;
}

.my-team-player-photo {
  width: 64px;
  height: 64px;
  overflow: hidden;
  border-radius: 11px;
  background: #2E3F38;
  display: flex;
  align-items: center;
  justify-content: center;
}

.my-team-player-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.my-team-player-info strong {
  display: block;
  color: #F4EDE1;
  font-size: 16px;
}

.my-team-player-info span {
  display: block;
  margin-top: 4px;
  color: #9EAAA5;
  font-size: 12px;
}

.my-team-player-price {
  color: #D4A470;
  font-size: 20px;
  font-weight: 900;
}

.empty-roster {
  padding: 30px 15px;
  text-align: center;
  color: #9EAAA5;
  background: #111111;
  border: 1px dashed #2E3F38;
  border-radius: 13px;
}


/* ===== OTHER TEAMS ===== */

.other-teams {
  margin-top: 18px;
}

.other-teams h3 {
  color: #F4EDE1;
  margin-bottom: 10px;
}

.other-teams-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.other-team-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 14px;
  background: #041C18;
  border: 1px solid #2E3F38;
  border-radius: 13px;
}

.other-team-card strong {
  color: #F4EDE1;
}

.other-team-card span {
  color: #D4A470;
  font-size: 13px;
}


/* ===== MOBILE MY TEAM ===== */

@media (max-width: 700px) {

  #teams {
    padding: 12px 10px 40px;
  }

  .my-team-header {
    align-items: flex-start;
  }

  .my-team-header h2 {
    font-size: 24px;
  }

  .my-team-summary {
    gap: 14px;
  }

  .my-team-summary strong {
    font-size: 17px;
  }

  .my-team-player {
    grid-template-columns: 54px 1fr auto;
  }

  .my-team-player-photo {
    width: 54px;
    height: 54px;
  }

  .my-team-player-price {
    font-size: 18px;
  }

  .other-teams-grid {
    grid-template-columns: 1fr;
  }
}
/* ==================================================
   ADMIN PANEL
   ================================================== */

#admin {
  max-width: 1100px;
  margin: 0 auto;
  padding: 20px 16px 60px;
}

#admin .admin-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

#admin .panel {
  background: #041C18;
  border: 1px solid #2E3F38;
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .12);
}

#admin .panel.wide {
  grid-column: 1 / -1;
}

#admin .panel h3 {
  margin: 0 0 16px;
  color: #F4EDE1;
  font-size: 17px;
  font-weight: 800;
}

#admin .panel label {
  display: block;
  margin: 12px 0 6px;
  color: #A8B2AD;
  font-size: 12px;
  font-weight: 700;
}

#admin input,
#admin select,
#admin textarea {
  width: 100%;
  box-sizing: border-box;
  min-height: 48px;
  padding: 10px 12px;

  background: #111111;
  border: 1px solid #2E3F38;
  border-radius: 11px;

  color: #F4EDE1;
  font-size: 14px;
}

#admin textarea {
  min-height: 130px;
  resize: vertical;
}

#admin input:focus,
#admin select:focus,
#admin textarea:focus {
  border-color: #D4A470;
  outline: none;
}

#admin button {
  min-height: 46px;
  padding: 0 16px;

  border: 1px solid #D4A470;
  border-radius: 10px;

  background: #D4A470;
  color: #111111;

  font-weight: 800;
  cursor: pointer;
}

#admin button:hover {
  filter: brightness(1.05);
}

#admin .muted {
  color: #8F9B96;
  font-size: 12px;
}


/* ===== ADMIN CURRENT AUCTION ===== */

#admin .admin-current {
  margin-bottom: 14px;
  padding: 14px;

  background: #111111;
  border: 1px solid #2E3F38;
  border-radius: 12px;

  color: #F4EDE1;
  font-size: 16px;
  font-weight: 800;
}


/* ===== ADMIN CONTROL BUTTONS ===== */

#admin .controls {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

#admin .controls button {
  flex: 1 1 140px;
}


/* Pavojingesni veiksmai */

#admin #resetBtn {
  background: transparent;
  border-color: #8C4D46;
  color: #DDA59E;
}


/* ===== MANUAL PLAYER ===== */

#admin .manual-player {
  display: grid;
  grid-template-columns: 1.4fr 1fr .7fr .7fr 1.5fr auto;
  gap: 8px;
  align-items: end;
}


/* ===== UNDO PICK ===== */

.undo-pick-list {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid #2E3F38;
}

.undo-pick-list h3 {
  margin-bottom: 12px !important;
}

.undo-pick-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;

  padding: 11px 0;
  border-bottom: 1px solid #2E3F38;
}

.undo-pick-row:last-child {
  border-bottom: 0;
}

.undo-pick-row strong {
  display: block;
  color: #F4EDE1;
  font-size: 14px;
}

.undo-pick-row span {
  display: block;
  margin-top: 3px;
  color: #9EAAA5;
  font-size: 12px;
}

#admin .undo-pick-btn {
  min-height: 38px;
  padding: 0 12px;

  background: transparent;
  border: 1px solid #D4A470;

  color: #D4A470;
  font-size: 12px;
  white-space: nowrap;
}

#admin .undo-pick-btn:hover {
  background: #D4A470;
  color: #111111;
}


/* ==================================================
   ADMIN MOBILE
   ================================================== */

@media (max-width: 700px) {

  #admin {
    padding: 12px 10px 40px;
  }

  #admin .admin-grid {
    grid-template-columns: 1fr;
  }

  #admin .panel.wide {
    grid-column: auto;
  }

  #admin .panel {
    padding: 15px;
  }

  #admin .manual-player {
    grid-template-columns: 1fr;
  }

  #admin .manual-player input,
  #admin .manual-player select,
  #admin .manual-player button {
    width: 100%;
  }

  #admin .controls {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  #admin .controls button {
    width: 100%;
  }

  .undo-pick-row {
    align-items: flex-start;
  }

  #admin .undo-pick-btn {
    flex-shrink: 0;
  }
}
/* ===== NOMINATE PLAYER LIST ===== */

#nominateList {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0 18px;
}

#admin .nominate-player-btn {
  width: 100%;
  min-height: 64px;
  padding: 10px 14px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;

  background: #111111;
  border: 1px solid #2E3F38;
  border-radius: 12px;

  color: #F4EDE1;
  text-align: left;
  font-size: 15px;
  font-weight: 800;
}

#admin .nominate-player-btn span {
  color: #D4A470;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

#admin .nominate-player-btn:hover {
  background: #041C18;
  border-color: #D4A470;
  color: #F4EDE1;
}

@media (max-width: 700px) {
  #nominateList {
    grid-template-columns: 1fr;
  }

  #admin .nominate-player-btn {
    min-height: 58px;
  }
}
/* TIMERIO TEKSTAS TIKSLIAI CENTRE */

#timer.timer-circle {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
/* ===== DELETE SINGLE PLAYER ===== */

.nominate-player-row {
  display: grid;
  grid-template-columns: 1fr 46px;
  gap: 8px;
  align-items: stretch;
}

#admin .nominate-player-row .nominate-player-btn {
  width: 100%;
}

#admin .delete-player-btn {
  width: 46px;
  min-width: 46px;
  min-height: 58px;
  padding: 0;

  display: flex;
  align-items: center;
  justify-content: center;

  background: transparent;
  border: 1px solid #8C4D46;
  border-radius: 11px;

  color: #DDA59E;
  font-size: 18px;
  font-weight: 900;
}

#admin .delete-player-btn:hover {
  background: #8C4D46;
  color: #F4EDE1;
}

@media (max-width: 700px) {
  .nominate-player-row {
    grid-template-columns: 1fr 44px;
  }

  #admin .delete-player-btn {
    width: 44px;
    min-width: 44px;
  }
}
/* ===== CONNECTION STATUS ===== */

.connection-status {
  display: inline-flex;
  align-items: center;
  width: fit-content;

  padding: 6px 10px;
  margin-right: 10px;

  border: 1px solid #8C4D46;
  border-radius: 999px;

  color: #DDA59E;
  background: rgba(140, 77, 70, 0.10);

  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  white-space: nowrap;
}

.connection-status.connected {
  border-color: #D4A470;
  color: #D4A470;
  background: rgba(212, 164, 112, 0.10);
}

@media (max-width: 700px) {
  .connection-status {
    grid-column: 1 / -1;
    margin: 0 0 6px;
  }
}
/* ===== TEAM BAR ALIGNMENT + LOGOUT ===== */

.mobile-team-bar {
  display: grid;
  grid-template-columns: auto auto 1fr 1fr 1fr;
  align-items: center;
  gap: 14px;
}

.connection-status {
  justify-self: start;
}

.logout-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 6px 10px;
  border-radius: 999px;

  background: transparent;
  border: 1px solid #2E3F38;
  color: #F4EDE1;

  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.logout-btn:hover {
  border-color: #D4A470;
  color: #D4A470;
}

.team-bar-name,
.team-bar-stat {
  text-align: center;
}

@media (max-width: 700px) {
  .mobile-team-bar {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .connection-status {
    grid-column: 1 / 2;
  }

  .logout-btn {
    grid-column: 2 / 3;
    justify-self: end;
  }

  .team-bar-name {
    grid-column: 1 / -1;
  }
}
/* ===== MY ROSTER SIDEBAR ===== */

.auction-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 320px;
  gap: 16px;
  align-items: stretch;
}

.my-roster-sidebar {
  background: #041C18;
  border: 1px solid #2E3F38;
  border-radius: 18px;
  padding: 16px;
  min-width: 0;
}

.my-roster-title {
  color: #D4A470;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .10em;
  margin-bottom: 14px;
}

.my-roster-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.my-roster-player {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;

  background: rgba(244, 237, 225, 0.04);
  border: 1px solid rgba(244, 237, 225, 0.08);
  border-radius: 12px;
  padding: 8px;
}

.my-roster-photo {
  width: 52px;
  height: 52px;
  border-radius: 10px;
  overflow: hidden;
  background: #2E3F38;

  display: flex;
  align-items: center;
  justify-content: center;
}

.my-roster-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.my-roster-ball {
  font-size: 24px;
}

.my-roster-info {
  min-width: 0;
}

.my-roster-position {
  color: #D4A470;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  margin-bottom: 3px;
}

.my-roster-name {
  color: #F4EDE1;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.15;

  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.my-roster-price {
  color: #D4A470;
  font-size: 14px;
  font-weight: 900;
  white-space: nowrap;
}

.my-roster-empty {
  color: #8E9B95;
  font-size: 13px;
  line-height: 1.4;

  padding: 18px 8px;
  text-align: center;
}

/* TABLET */
@media (max-width: 1100px) {
  .auction-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .my-roster-sidebar {
    grid-column: 1 / -1;
  }

  .my-roster-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* MOBILE */
@media (max-width: 700px) {
  .auction-grid {
    grid-template-columns: 1fr;
  }

  .my-roster-sidebar {
    grid-column: auto;
    order: 3;
  }

  .my-roster-list {
    display: flex;
    flex-direction: column;
  }

  .my-roster-player {
    grid-template-columns: 48px minmax(0, 1fr) auto;
  }

  .my-roster-photo {
    width: 48px;
    height: 48px;
  }
}
/* =========================================================
   NEW THEMED HEADER
   ========================================================= */

.main-header {
  position: relative;
  min-height: 190px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;

  padding: 26px 5%;

  background:
    radial-gradient(
      circle at 70% 45%,
      rgba(212, 164, 112, 0.16),
      transparent 32%
    ),
    radial-gradient(
      circle at 25% 120%,
      rgba(0, 110, 82, 0.22),
      transparent 38%
    ),
    linear-gradient(
      90deg,
      #031411 0%,
      #062019 48%,
      #07100e 100%
    );

  border-bottom: 1px solid rgba(212, 164, 112, 0.28);

  overflow: visible;
}

/* subtilus teminis fonas */
.main-header::before {
  content: "";
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      90deg,
      rgba(0,0,0,0.08) 0%,
      rgba(0,0,0,0.15) 50%,
      rgba(0,0,0,0.45) 100%
    ),
    repeating-linear-gradient(
      115deg,
      rgba(255,255,255,0.015) 0px,
      rgba(255,255,255,0.015) 2px,
      transparent 2px,
      transparent 10px
    );

  pointer-events: none;
}

/* auksinis švytėjimas apačioje */
.main-header::after {
  content: "";
  position: absolute;
  left: 8%;
  right: 8%;
  bottom: 0;
  height: 1px;

  background: linear-gradient(
    90deg,
    transparent,
    rgba(212,164,112,.65),
    transparent
  );

  pointer-events: none;
}

.header-brand,
.header-nav {
  position: relative;
  z-index: 2;
}

/* BRAND */

.header-brand {
  display: flex;
  align-items: center;
  gap: 22px;
}

.header-logo {
  width: 128px;
  height: 128px;

  object-fit: contain;

  flex-shrink: 0;

  filter:
    drop-shadow(0 8px 18px rgba(0,0,0,.38))
    drop-shadow(0 0 10px rgba(212,164,112,.10));
}

.header-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.header-copy .eyebrow {
  color: #D4A470;

  font-size: 11px;
  font-weight: 900;
  letter-spacing: .22em;

  margin-bottom: 7px;
}

.header-copy h1 {
  margin: 0;

  color: #F4EDE1;

  font-size: clamp(30px, 3.2vw, 50px);
  line-height: 1;
  font-weight: 950;

  letter-spacing: -.03em;

  text-shadow: 0 2px 18px rgba(0,0,0,.35);
}

.header-slogan {
  margin-top: 10px;

  color: #9BA8A2;

  font-size: 11px;
  font-weight: 800;
  letter-spacing: .20em;
}

/* NAV */

.header-nav {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* AUCTION BUTTON */

.auction-nav-btn {
  height: 50px;
  padding: 0 22px;

  border: 1px solid #3C5A50;
  border-radius: 13px;

  background:
    linear-gradient(
      180deg,
      rgba(10,73,57,.95),
      rgba(6,47,38,.95)
    );

  color: #F4EDE1;

  font-size: 16px;
  font-weight: 900;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 8px 22px rgba(0,0,0,.22);

  cursor: pointer;
}

.auction-nav-btn:hover {
  border-color: #D4A470;
  color: #F6D4A2;
  transform: translateY(-1px);
}

/* MENU BUTTON */

.menu-btn {
  width: 52px;
  height: 50px;

  padding: 0;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border: 1px solid #3C5A50;
  border-radius: 13px;

  background: rgba(7, 28, 24, .92);

  color: #F4EDE1;

  font-size: 24px;
  font-weight: 900;

  cursor: pointer;
}

.menu-btn:hover {
  border-color: #D4A470;
  color: #D4A470;
}

/* DROPDOWN */

.header-menu {
  display: none;

  position: absolute;
  top: calc(100% + 12px);
  right: 0;

  width: 220px;

  padding: 8px;

  background:
    linear-gradient(
      180deg,
      rgba(5,31,26,.99),
      rgba(3,19,16,.99)
    );

  border: 1px solid #355047;
  border-radius: 14px;

  box-shadow:
    0 22px 55px rgba(0,0,0,.50),
    inset 0 1px 0 rgba(255,255,255,.02);

  z-index: 9999;
}

.header-menu.open {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.header-menu button {
  width: 100%;

  padding: 13px 14px;

  border: 0;
  border-radius: 9px;

  background: transparent;

  color: #F4EDE1;

  text-align: left;

  font-size: 14px;
  font-weight: 800;

  cursor: pointer;
}

.header-menu button:hover {
  background: rgba(212,164,112,.10);
  color: #D4A470;
}

/* kad dropdown neužsikirstų už headerio ribų */
header,
.main-header,
.header-nav {
  overflow: visible;
}

/* TABLET */

@media (max-width: 1000px) {
  .main-header {
    min-height: 160px;
    padding: 22px 28px;
  }

  .header-logo {
    width: 100px;
    height: 100px;
  }

  .header-copy h1 {
    font-size: 34px;
  }

  .header-slogan {
    font-size: 9px;
  }
}

/* MOBILE */

@media (max-width: 700px) {
  .main-header {
    min-height: 120px;

    padding: 16px;

    gap: 12px;
  }

  .header-brand {
    gap: 12px;
    min-width: 0;
  }

  .header-logo {
    width: 62px;
    height: 62px;
  }

  .header-copy {
    min-width: 0;
  }

  .header-copy .eyebrow {
    font-size: 8px;
    letter-spacing: .14em;
    margin-bottom: 4px;
  }

  .header-copy h1 {
    font-size: 21px;
    white-space: nowrap;
  }

  .header-slogan {
    display: none;
  }

  .header-nav {
    gap: 6px;
  }

  .auction-nav-btn {
    height: 42px;
    padding: 0 11px;

    font-size: 12px;
  }

  .menu-btn {
    width: 42px;
    height: 42px;

    font-size: 20px;
  }

  .header-menu {
    width: 190px;
    top: calc(100% + 8px);
  }
}
/* ===== ARENA HEADER BACKGROUND ===== */

.main-header {
  background:
    linear-gradient(
      90deg,
      rgba(2, 15, 13, 0.88) 0%,
      rgba(2, 15, 13, 0.68) 48%,
      rgba(2, 15, 13, 0.45) 100%
    ),
    url("header-bg.png") center 58% / cover no-repeat;

  min-height: 220px;
}
.main-header::before {
  background:
    linear-gradient(
      90deg,
      rgba(0,0,0,0.12) 0%,
      rgba(0,0,0,0.18) 55%,
      rgba(0,0,0,0.28) 100%
    );
}
@media (max-width: 700px) {
  .main-header {
    min-height: 135px;
    background-position: 62% center;
  }
}
/* =========================================================
   TV DRAFT VIEW
   ========================================================= */

#tv {
  padding: 0;
}

.tv-draft-screen {
  min-height: 100vh;
  padding: 18px;

  background:
    linear-gradient(rgba(2,8,7,.78), rgba(2,8,7,.90)),
    url("header-bg.png") center / cover fixed;

  color: #f4ede1;
}

.tv-topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;

  margin-bottom: 14px;
}

.tv-brand {
  display: flex;
  align-items: center;
  gap: 14px;
}

.tv-logo {
  width: 76px;
  height: 76px;
  object-fit: contain;
}

.tv-kicker {
  font-size: 10px;
  letter-spacing: .2em;
  color: #d4a470;
  font-weight: 800;
}

.tv-brand h2 {
  margin: 4px 0 0;
  font-size: 28px;
}

.tv-pick-info {
  text-align: right;
}

.tv-pick-info span {
  display: block;
  font-size: 10px;
  letter-spacing: .18em;
  color: #9ea8a2;
}

.tv-pick-info strong {
  font-size: 24px;
  color: #d4a470;
}

.tv-teams-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;

  margin-bottom: 10px;
}

.tv-team-card {
  background: rgba(4, 22, 18, .94);
  border: 1px solid #355047;
  border-radius: 10px;
  overflow: hidden;

  min-width: 0;
}

.tv-team-header {
  display: flex;
  align-items: center;
  gap: 8px;

  padding: 10px;

  background: linear-gradient(
    90deg,
    rgba(11, 87, 67, .92),
    rgba(6, 48, 39, .92)
  );

  border-bottom: 1px solid rgba(255,255,255,.08);
}

.tv-team-number {
  font-size: 20px;
  font-weight: 900;
  color: #f4c27f;
}

.tv-team-name {
  font-size: 14px;
  font-weight: 900;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tv-team-budget {
  display: flex;
  align-items: center;
  gap: 6px;

  padding: 7px 9px;

  font-size: 9px;
  color: #9ca9a3;

  border-bottom: 1px solid rgba(255,255,255,.06);
}

.tv-team-budget strong {
  color: #f4ede1;
  font-size: 15px;
}

.tv-team-total {
  margin-left: auto;
  color: #d4a470;
  font-weight: 800;
}

.tv-position-group {
  padding: 6px 8px 7px;
}

.tv-position-header {
  display: flex;
  justify-content: space-between;

  margin-bottom: 4px;

  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;

  color: #d4a470;
}

.tv-roster-row {
  display: grid;
  grid-template-columns: 26px minmax(0,1fr) auto;
  align-items: center;
  gap: 6px;

  min-height: 27px;

  border-bottom: 1px solid rgba(255,255,255,.055);

  font-size: 10px;
}

.tv-roster-photo {
  width: 24px;
  height: 24px;
  border-radius: 50%;

  overflow: hidden;

  display: flex;
  align-items: center;
  justify-content: center;

  background: rgba(255,255,255,.08);
}

.tv-roster-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tv-roster-name {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.tv-roster-price {
  color: #f4ede1;
  font-weight: 800;
}

.tv-roster-empty {
  color: #68766f;
}

.tv-empty-plus {
  width: 20px;
  height: 20px;

  display: flex;
  align-items: center;
  justify-content: center;

  border: 1px solid #40564d;
  border-radius: 50%;

  color: #8ea198;
}

.tv-bottom-grid {
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: 10px;
}

.tv-recent-panel,
.tv-auction-panel {
  background: rgba(4,22,18,.96);
  border: 1px solid #355047;
  border-radius: 12px;
  overflow: hidden;
}

.tv-panel-title,
.tv-auction-heading {
  padding: 10px 12px;

  font-size: 14px;
  font-weight: 900;

  border-bottom: 1px solid rgba(255,255,255,.08);
}

.tv-auction-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;

  border: 1px solid #d4a470;
  border-radius: 12px 12px 0 0;

  font-size: 20px;
}

#tvTimer {
  color: #d4a470;
  font-size: 28px;
}

.tv-auction-body {
  display: grid;
  grid-template-columns: 120px minmax(0,1fr) 150px 170px;
  gap: 14px;
  align-items: center;

  padding: 12px;
}

.tv-auction-photo {
  width: 110px;
  height: 110px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 10px;
  overflow: hidden;

  background: rgba(255,255,255,.08);

  font-size: 42px;
}

.tv-auction-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tv-auction-position {
  color: #d4a470;
  font-size: 11px;
  font-weight: 800;
}

.tv-auction-name {
  margin-top: 3px;

  font-size: 26px;
  line-height: 1;
  font-weight: 950;
}

.tv-auction-team {
  margin-top: 6px;

  font-size: 12px;
  color: #9aa59f;
}

.tv-auction-price,
.tv-auction-leader {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.tv-auction-price span,
.tv-auction-leader span {
  font-size: 9px;
  text-transform: uppercase;
  color: #8f9b95;
  letter-spacing: .08em;
}

.tv-auction-price strong {
  color: #d4a470;
  font-size: 34px;
}

.tv-auction-leader strong {
  font-size: 18px;
}

.tv-recent-sales {
  padding: 6px 10px;
}

.tv-recent-row {
  display: grid;
  grid-template-columns: 45px 1fr 1fr auto;
  gap: 10px;

  padding: 8px 4px;

  border-bottom: 1px solid rgba(255,255,255,.06);

  font-size: 11px;
}

.tv-recent-pick {
  color: #d4a470;
  font-weight: 900;
}

.tv-recent-price {
  font-weight: 900;
}

.tv-recent-empty {
  padding: 20px;
  text-align: center;
  color: #7c8983;
}

/* 1080p TV optimizacija */

@media (min-width: 1500px) {
  .tv-draft-screen {
    padding: 20px 24px;
  }

  .tv-team-name {
    font-size: 15px;
  }

  .tv-roster-row {
    min-height: 29px;
    font-size: 11px;
  }
}
.tv-fullscreen-btn {
  margin-bottom: 7px;
  padding: 7px 12px;
  border: 1px solid rgba(212,164,112,.55);
  border-radius: 7px;
  background: rgba(4,22,18,.8);
  color: #d4a470;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .12em;
  cursor: pointer;
}

.tv-fullscreen-btn:hover {
  background: rgba(212,164,112,.12);
  border-color: #d4a470;
  color: #f4ede1;
}

.tv-draft-screen:fullscreen {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  padding: 18px;
  box-sizing: border-box;
}
.tv-flying-player {
  position: fixed;
  z-index: 99999;

  display: grid;
  grid-template-columns: 115px minmax(0, 1fr);
  align-items: center;
  gap: 14px;

  min-width: 320px;
  padding: 12px;

  background: linear-gradient(
    135deg,
    rgba(8,35,29,.98),
    rgba(3,17,14,.98)
  );

  border: 2px solid #d4a470;
  border-radius: 14px;

  box-shadow:
    0 0 35px rgba(212,164,112,.65),
    0 22px 60px rgba(0,0,0,.75);

  pointer-events: none;

  transform-origin: center;

  transition:
  transform 3.2s cubic-bezier(.16,.84,.32,1),
  opacity .55s ease 2.55s;
}

.tv-flying-photo-big {
  width: 115px;
  height: 130px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 10px;
  overflow: hidden;

  background: #263b34;

  font-size: 44px;
}

.tv-flying-photo-big img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

.tv-flying-info {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.tv-flying-info small {
  color: #d4a470;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
}

.tv-flying-info strong {
  margin-top: 4px;
  color: #f4ede1;
  font-size: 22px;
  line-height: 1.05;
  font-weight: 950;
}

.tv-flying-info span {
  margin-top: 8px;
  color: #d4a470;
  font-size: 24px;
  font-weight: 950;
}

.tv-team-winning {
  border-color: #e4b66f !important;

  box-shadow:
    0 0 0 1px rgba(228,182,111,.35),
    0 0 30px rgba(228,182,111,.45);

  animation: tvTeamPulse 1.2s ease;
}

@keyframes tvTeamPulse {
  0%, 100% {
    filter: brightness(1);
  }

  40% {
    filter: brightness(1.55);
  }

  70% {
    filter: brightness(1.2);
  }
}
.bid-limit-info {
  min-height: 42px;
  margin: 12px 0 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 14px;
  border: 1px solid rgba(212, 164, 112, 0.22);
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.14);
}

.max-bid-info {
  color: #d4a470;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.06em;
}

.bid-block-reason {
  color: #aab7b1;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-align: right;
}

.bid-block-reason:empty {
  display: none;
}

.max-bid-info:empty {
  display: none;
}

.bid-limit-info:has(.max-bid-info:empty):has(.bid-block-reason:empty) {
  display: none;
}
.player-position-filters button.active,
.toolbar button.active {
  background: #d4a470;
  color: #071914;
  border-color: #d4a470;
  box-shadow:
    0 0 0 1px rgba(212, 164, 112, 0.25),
    0 6px 18px rgba(212, 164, 112, 0.18);
}
.tv-draft-progress {
  width: 180px;
  margin-top: 7px;
}

.tv-draft-progress-text {
  margin-bottom: 5px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-align: right;
  white-space: nowrap;
}

.tv-draft-progress-track {
  width: 100%;
  height: 5px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 999px;
}

.tv-draft-progress-bar {
  width: 0%;
  height: 100%;
  background: #d4a470;
  border-radius: 999px;
  transition: width 0.5s ease;
}
socket.on('tvPlayerSold', sale => {
  const player = state?.players?.find(p => p.id === sale.playerId);
  const team = state?.teams?.find(t => t.id === sale.teamId);

  const soldMoment = $('tvSoldMoment');
  const soldPlayer = $('tvSoldPlayer');
  const soldDetails = $('tvSoldDetails');

  if (soldMoment && player && team) {
    if (soldPlayer) {
      soldPlayer.textContent = player.name || '';
    }

    if (soldDetails) {
      soldDetails.textContent =
        `${euro(sale.price)} · ${team.name || ''}`;
    }

    soldMoment.classList.remove('show');

    requestAnimationFrame(() => {
      soldMoment.classList.add('show');
    });

    setTimeout(() => {
      soldMoment.classList.remove('show');
    }, 4000);
  }

  animateTVSale(sale);
});
/* ===== TV SOLD MOMENT ===== */

.tv-auction-panel {
  position: relative;
  overflow: hidden;
}

.tv-sold-moment {
  position: absolute;
  inset: 0;
  z-index: 30;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  padding: 20px;

  background:
    radial-gradient(
      circle at 50% 35%,
      rgba(212, 164, 112, 0.12),
      transparent 42%
    ),
    linear-gradient(
      180deg,
      rgba(3, 28, 23, 0.98),
      rgba(2, 17, 14, 0.98)
    );

  border: 1px solid rgba(212, 164, 112, 0.75);

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transform: scale(0.985);

  transition:
    opacity 0.22s ease,
    transform 0.28s ease,
    visibility 0s linear 0.28s;
}

.tv-sold-moment.show {
  opacity: 1;
  visibility: visible;
  transform: scale(1);

  transition:
    opacity 0.22s ease,
    transform 0.28s ease,
    visibility 0s;
}

.tv-sold-label {
  margin-bottom: 8px;

  color: #d4a470;

  font-size: 13px;
  font-weight: 900;

  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.tv-sold-label::before {
  content: "✓ ";
}

.tv-sold-player {
  color: #f4efe7;

  font-size: clamp(24px, 2.2vw, 34px);
  font-weight: 900;

  line-height: 1;
  text-align: center;
}

.tv-sold-details {
  margin-top: 10px;

  color: #d4a470;

  font-size: 16px;
  font-weight: 800;

  text-align: center;
}
.tv-sold-photo {
  width: 110px;
  height: 110px;
  margin: 6px 0 14px;

  display: flex;
  align-items: center;
  justify-content: center;

  overflow: hidden;

  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(212, 164, 112, 0.65);
  border-radius: 14px;

  box-shadow:
    0 0 0 1px rgba(212, 164, 112, 0.12),
    0 12px 30px rgba(0, 0, 0, 0.30);

  font-size: 44px;
}

.tv-sold-photo img {
  width: 100%;
  height: 100%;
  display: block;

  object-fit: cover;
  object-position: center top;
}
#auction #playerName {
  max-width: 100%;
  overflow-wrap: break-word;
  white-space: normal;
  line-height: 0.98;
}

#auction #playerName.long-player-name {
  font-size: clamp(27px, 4vw, 44px);
  line-height: 1.02;
}

#auction #playerMeta {
  margin: 0;
  color: #B8C0BC;
  font-size: 15px;
  font-weight: 700;
}

@media (max-width: 700px) {
  #auction #playerName.long-player-name {
    font-size: 25px;
  }

  #auction #playerMeta {
    font-size: 12px;
  }
}
#auction .player-info {
  min-width: 0;
  overflow: hidden;
}

#auction #playerName {
  max-width: 100%;
font-size: clamp(24px, 2.8vw, 38px);
  line-height: 1.02;
overflow-wrap: normal;
  word-break: normal;
  white-space: normal;
}

@media (max-width: 700px) {
  #auction #playerName {
    font-size: 26px;
  }
}
playerNameEl.textContent = p?.name || 'Laukiama žaidėjo';
.auction-bid-card.you-are-leading {
  border-color: #D4A470 !important;
  box-shadow:
    0 0 0 1px rgba(212, 164, 112, 0.35),
    0 0 28px rgba(212, 164, 112, 0.20);
}

.auction-bid-card.you-are-leading .price {
  text-shadow: 0 0 18px rgba(212, 164, 112, 0.35);
}

.auction-bid-card.you-are-leading .bid-block-reason {
  color: #D4A470;
  font-weight: 900;
}
/* TIMER – paskutinės sekundės */

.timer-warning {
  animation: timerWarningPulse 0.8s ease-in-out infinite;
  transform-origin: center;
}

.timer-danger {
  animation: timerDangerPulse 0.38s ease-in-out infinite !important;
  transform-origin: center;
  border-color: #ff3b30 !important;
  color: #ff3b30 !important;
  box-shadow: 0 0 25px rgba(255, 59, 48, 0.75);
}
}

@keyframes timerWarningPulse {
  0%, 100% {
    transform: scale(1);
    filter: brightness(1);
  }
  50% {
    transform: scale(1.06);
    filter: brightness(1.35);
  }
}

@keyframes timerDangerPulse {
  0%, 100% {
    transform: scale(1);
    filter: brightness(1);
  }
  50% {
    transform: scale(1.12);
    filter: brightness(1.7);
  }
}
#timer.timer-danger {
  border: 7px solid #ff3b30 !important;
  color: #ff3b30 !important;
}

#tvTimer.timer-warning,
#tvTimer.timer-danger {
  display: inline-block;
  transform-origin: center;
}

#tvTimer.timer-danger {
  color: #ff3b30 !important;
  text-shadow: 0 0 16px rgba(255, 59, 48, 0.9);
}
