
:root{font-family:Arial,Helvetica,sans-serif;color:#172033}
*{box-sizing:border-box}
body{margin:0}

.module-page{
  background:#f3f6fa;
  color:#172033;
}
.module-shell{
  width:min(1440px,calc(100% - 36px));
  margin:18px auto 64px;
}

/* Filtros: misma tarjeta que Players / Draft */
.module-controls{
  background:#fff;
  border:1px solid #dde4ed;
  border-radius:18px;
  padding:18px;
  box-shadow:0 7px 24px rgba(15,23,42,.06);
}
.module-filters{
  display:grid;
  gap:12px;
  margin:0 0 18px;
}
.module-filters label{
  display:grid;
  gap:6px;
  color:#526071;
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.module-filters select{
  width:100%;
  min-height:42px;
  border:1px solid #d5dde7;
  border-radius:10px;
  padding:0 11px;
  background:#fff;
  color:#172033;
  font:inherit;
  text-transform:none;
  letter-spacing:0;
}
.module-filters select:focus{
  outline:none;
  border-color:#2c6fa5;
  box-shadow:0 0 0 3px rgba(44,111,165,.13);
}

/* Transactions: filtros y columnas comparten la misma geometría */
.module-filters--transactions{
  grid-template-columns:220px 340px minmax(0,1fr);
  gap:0;
}
.module-filters--transactions label{padding-right:12px}
.module-filters--transactions label:nth-child(3){padding-right:0}

/* Injuries: un único selector compacto */
.module-filters--single{
  grid-template-columns:minmax(220px,320px);
}

/* Tabla: mismo acabado que Players / Draft */
.module-table-wrap{
  overflow:auto;
  background:#fff;
  border:1px solid #dde4ed;
  border-radius:18px;
  box-shadow:0 8px 28px rgba(15,23,42,.07);
}
.module-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  font-size:14px;
}
.module-table th{
  position:sticky;
  top:0;
  z-index:2;
  background:#0b1f3a;
  color:#fff;
  text-align:left;
  font-size:.75rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.045em;
  padding:14px;
  border:0;
  white-space:nowrap;
}
.module-table td{
  padding:10px 14px;
  border-bottom:1px solid #edf0f4;
  vertical-align:middle;
  color:#334155;
}
.module-table tbody tr:last-child td{border-bottom:0}
.module-table tbody tr:hover td{background:#f8fbff}

.module-table--transactions{table-layout:fixed}
.module-table--transactions .tx-col-date{width:220px}
.module-table--transactions .tx-col-team{width:340px}
.module-table--transactions .tx-col-move{width:auto}

.team-cell{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:150px;
  white-space:nowrap;
}
.team-cell img{
  width:32px;
  height:32px;
  object-fit:contain;
  flex:0 0 32px;
}
.person-cell{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:220px;
}
.person-cell img{
  width:46px;
  height:46px;
  flex:0 0 46px;
  object-fit:cover;
  object-position:center top;
  border-radius:50%;
  background:#eef2f7;
  border:1px solid #e0e7ef;
}
.module-table a{
  color:#172033;
  text-decoration:none;
  font-weight:800;
}
.module-table a:hover{text-decoration:underline}

.injury-status{font-weight:800}
.injury-status--dtd{color:#d97706}
.injury-status--out{color:#c62828}

.module-empty{
  margin-top:18px;
  background:#fff;
  border:1px dashed #bdc8d5;
  border-radius:18px;
  padding:52px 20px;
  text-align:center;
  color:#64748b;
}

@media(max-width:900px){
  .module-filters--transactions{
    grid-template-columns:180px 280px minmax(300px,1fr);
  }
  .module-table--transactions .tx-col-date{width:180px}
  .module-table--transactions .tx-col-team{width:280px}
}

@media(max-width:720px){
  .module-shell{
    width:min(100% - 20px,1440px);
    margin-top:8px;
  }
  .module-controls{
    padding:13px;
    border-radius:14px;
  }
  .module-filters--transactions,
  .module-filters--single{
    grid-template-columns:1fr;
    gap:10px;
  }
  .module-filters--transactions label{padding-right:0}
  .module-table-wrap{
    overflow-x:auto;
    border-radius:14px;
  }
  .module-table{min-width:760px}
  .module-table--transactions .tx-col-date{width:150px}
  .module-table--transactions .tx-col-team{width:260px}
}
