/* OlimpBase - players-ind unified table sizing (no truncation, equal widths) */

:root{
  --w-no: 35px;

  --w-city: 150px;
  --w-flag: 35px;
  --w-year: 40px;
  --w-system: 60px;
  --w-plrs: 40px;
  --w-pos: 55px;

  --w-pts: 40px;
  --w-gms: 40px;
  --w-plus: 30px;
  --w-eq: 30px;
  --w-minus: 30px;

  --w-elo: 50px;
  --w-elop: 50px;

  /* Derived widths (as requested) */
  --w-years: calc(var(--w-city) + var(--w-flag) + var(--w-year) + var(--w-system) + var(--w-plrs) + var(--w-pos));

  /* IMPORTANT: % + medals = Elo + Elop */
  --w-pct: 40px;
  --w-medals: calc(var(--w-elo) + var(--w-elop) - var(--w-pct)); /* 90 - 40 = 50px */

  /* Final equal table width for BOTH tables */
  --w-table: calc(
    var(--w-no) + var(--w-years) +
    var(--w-pts) + var(--w-gms) +
    var(--w-plus) + var(--w-eq) + var(--w-minus) +
    (var(--w-elo) + var(--w-elop))
  ); /* = 636px with your numbers */
}

/* modern responsiveness: scroll, never scale/clip content */
.ob-wrap{
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

table.ob{
  border-collapse: collapse;
  table-layout: fixed;
  width: var(--w-table);
  min-width: var(--w-table);   
  max-width: none;  
  background: #fff;
}

/* do NOT truncate content */
table.ob td, table.ob th{
  box-sizing: border-box;
  padding: 4px 6px;
  border: 1px solid #b9b9b9;
  overflow: visible;          /* key fix */
  text-overflow: clip;        /* key fix */
  white-space: normal;        /* allow wrapping when needed */
}

/* keep numeric columns compact */
table.ob td.t-center, table.ob th.t-center,
table.ob td.t-right,  table.ob th.t-right{
  white-space: nowrap;
}

/* helpers */
.t-left{ text-align: left; }
.t-center{ text-align: center; }
.t-right{ text-align: right; }

td.flag img{
  display: block;
  margin: 0 auto;
}